- ベストアンサー
複数のExcelブックをまとめるソフトを探しています
- セキュリティの制限がある環境で使える、複数のExcelブックをまとめるソフトを探しています。VBAやインストールが必要なソフトは使用できず、バッチファイルも試していません。必要な機能は、複数のブックのシートをまとめて1つのファイルにすることで、シート名はファイル名と同じになります。xls形式とxlsx形式が混在しても良く、マクロを使っていないためインストール不要です。
- セキュリティの制限がある環境で使用できるExcelブックの結合ソフトを探しています。VBAやインストールが必要なソフトは利用できず、バッチファイルも試していません。必要な機能は、複数のブックのシートを結合して1つのファイルにすることで、シート名はファイル名と同じになります。xls形式とxlsx形式が混在しても問題ありませんし、マクロを使用していないためインストール不要です。
- セキュリティの制限がある環境で使用可能なExcelブックのまとめるソフトを探しています。VBAやインストールが必要なソフトは使用できず、バッチファイルも試していません。必要な機能は、複数のブックのシートを1つのファイルにまとめることで、シート名はファイル名と同じになります。xls形式とxlsx形式が混在していても問題ありませんし、マクロを使用していないためインストール不要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> VBAを使う方法や、インストールが必要なソフトは使えず、困っております このVBAを使う方法がダメというのはVBAが入ったエクセルをVBA有効で開くことができないということですか? ならば、一回きりのことですから、マクロを使う方法ですがこうしてみませんか? 新規にエクセルのファイルを一つ作ります。(保存はしません) その新しいエクセルのファイル(BOOK)にマクロをコピペします。 そのマクロはそとから持ち込んだものでないので多分実行できるはずです。 マクロを実行すると、フォルダーを聞いてきますから、そこでフォルダーを指定すると、ご要望の「一つのフォルダの中にある複数のエクセルファイルを、一つにまとめたデータ」が出来上がります。 そのまとまった複数のシートを選択して新しいくエクセルのファイルに保存してください。 マクロを書いたファイルは保存しないで終了してください。 手順は以下のとおりです。簡単ですよ。 1.新しいBOOKを開き、AltキーとF11キー同時に押し(以下Alt+F11キーと記述)て Visual Basic Editor を呼び出します。 2.Visual Basic Editor のメニューから「挿入」、「標準モジュール」で出てきたコードウィンド(右側の白い広い部分)に以下のコード(Sub~End Sub)をコピペします。 '********これより下********** Sub TEST01() Dim myObj As Object Dim myDir As String, myFle As String Dim ws As Worksheet, mb As Workbook, wb As Workbook Set myObj = CreateObject("Shell.Application"). _ BrowseForFolder(0, "フォルダを選択してください", 0) If myObj Is Nothing Then Exit Sub If myObj = "デスクトップ" Then myDir = CreateObject("WScript.Shell").SpecialFolders("Desktop") Else myDir = myObj.Items.Item.Path End If Application.ScreenUpdating = False '画面更新を一時停止 Set mb = ThisWorkbook myFle = Dir(myDir & "\*.xls*") 'フォルダ内のExcelブックを検索 Do Until myFle = Empty '全て検索 If myFle <> ThisWorkbook.Name Then 'ブック名がこのブックの名前でなければ Set wb = Workbooks.Open(myDir & "\" & myFle) 'そのブックを開きwbとする。 wb.Worksheets(1).Copy After:=mb.Sheets(mb.Sheets.Count) '1枚目のシートをコピー Set ws = mb.Sheets(mb.Sheets.Count) ws.Name = wb.Name '名前をwbのBook名に wb.Close (False) 'wbを保存しないで閉じる End If myFle = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 End Sub '********これより上********** 3.Alt+F11キーでワークシートへもどります。 4.Alt+F8キーで出てきたマクロ名(test01)を選択して実行します。
その他の回答 (1)
- layy
- ベストアンサー率23% (292/1222)
データの形式を確認ですが。 すべてCSVファイルに書き出すとかアクセス使うとかでも良ければ、なんか出来そうですし、1回限りの作業なら悩むより手作業のが早い可能性あり。
お礼
ご回答ありがとうございました。 マクロで行なってみることにいたします。
お礼
ご回答ありがとうございました。 また、御礼が大変遅くなり、申し訳ございませんでした。 ご教授いただいた方法で、望どおりの結果を得ることができました。食わず嫌いと申しますか、マクロとセキュリティのことに関して無知だったと申しますか、とにかく蒙昧を啓いていただき、ありがとうございました。