- 締切済み
複数のExcelブックを1つのブックとしてにまとめたい
Excelのファイルを配布したのですが回収した後のことを考えていなかったので困っています。 回収した複数のExcelのファイルを簡単に1つのファイルにまとめる方法はありますか? 配布した際にわかり易くと思いすべてのファイル名は異なるファイル名にしてます。数は300弱です。 マクロを組むにも300個のファイル名称になっているのでどうしたら良いのか困っています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- teebee
- ベストアンサー率68% (17/25)
okumaru さん、こんばんは。 1.C:\My Documents\ に全ファイルを集め 2.集める対象のシートは必ず各ファイルの1枚目のシート という前提で以下のようにすればできる気がします(無責任ながら、未検証ですけど)。 Sub CollectSheets() Dim strPath As String Dim strFileName As String strPath = "C:\My Documents\" strFileName = Dir(strPath & "*.xls") Do Until strFileName Workbooks.Open Filename:=strPath & strFileName Workbooks(strFileName).Worksheets(1).Move agfter:=ThisWorkbook.Sheets(Sheets.Count) Workbooks(strFileName).Close savechange:=False strFileName = Dir Loop End Sub でも、単純に考えると、300ものシートが1Bookに集められると... どうなんでしょう (^^;
- ykkw_2001
- ベストアンサー率26% (267/1014)
まずは、ここら辺から・・ >マクロを組むにも300個のファイル名称になっているのでどうしたら良いのか 300個のファイルを一つのフォルダに集めて、 そのフォルダに、コマンドプロンプトのプロパティ「作業ディレクトリ」を空欄にしたやつをコピーしましょう。(作業を楽にするためです。Change Directory コマンドを知っているなら、cd で移動するほうをお勧めします) そのDOS窓から、dir /B *.xls > files.csv [Enter] と入力し、 files.csv をEXCELで開くと、XLS拡張子のファイルリストが出来ています。 これなら、少しはマクロを組むのがカンタンになったのでは? まだダメなら、貴方のマクロプログラムレベルを補足して下さい。(xxxならできるとか、xxxならやったことがあるとか)
- bin-chan
- ベストアンサー率33% (1403/4213)
「考え方」について、です。 「まとめるためのブック」にマクロを記述します。 内容は「1.指定されたブック(一件)の全シートを自分自身の末尾に追加する」。 (マクロの記録でできますよね) で、300件のブック名を一覧シートにしておいて、 セルの値がなくなるまで 繰り返すマクロで「1.」を呼び出す。 でしょうか。