- ベストアンサー
複数のエクセルファイルとシートからデータ抽出したい
すみませんが教えてください! 複数のエクセルファイルがあり、それぞれに複数のシートがあります。 (ファイルによってシート数は異なります) そのすべてのファイル/シートから、C列の最後の行のデータを抽出し、集計ファイルに書き出したいのです。 書き出しのフォーマットは3セル使用して、ファイル名、シート名、データとしたいです。 すみませんが、よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
集計用のブックを用意する Sheet1のA1、B1、C1セルに「ファイル名」「シート名」「データ」と記入しておく 集計ブックを、あなたの「複数のエクセルファイル」が放り込んであるフォルダに一緒に保存しておく 改めて集計ブックを開く ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() dim myPath as string dim myFile as string dim w as worksheet mypath = thisworkbook.path & "\" myfile = dir(mypath & "*.xls*") application.screenupdating = false do until myfile = "" if myfile <> thisworkbook.name then workbooks.open mypath & myfile for each w in workbooks(myfile).worksheets with thisworkbook.worksheets("Sheet1").range("A65536").end(xlup).offset(1) .value = myfile .offset(0, 1) = w.name .offset(0, 2).value = w.cells(w.rows.count, "C").end(xlup).value end with next workbooks(myfile).close false end if myfile = dir() loop application.screenupdating = true end sub ファイルメニューから終了してエクセルに戻る ALT+F8を押してマクロを実行する。
お礼
ありがとうございます! やりたいことが100%できました! コードを確認して自分でも書けるように頑張ります!