• ベストアンサー

複数のエクセルファイルとシートからデータ抽出したい

すみませんが教えてください! 複数のエクセルファイルがあり、それぞれに複数のシートがあります。 (ファイルによってシート数は異なります) そのすべてのファイル/シートから、C列の最後の行のデータを抽出し、集計ファイルに書き出したいのです。 書き出しのフォーマットは3セル使用して、ファイル名、シート名、データとしたいです。 すみませんが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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を押してマクロを実行する。

kenkenkenpa
質問者

お礼

ありがとうございます! やりたいことが100%できました! コードを確認して自分でも書けるように頑張ります!

関連するQ&A