こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2013-12-01 19:55:36

QNo.8369459

すぐに回答ほしいです

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

集計用のブックを用意する
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を押してマクロを実行する。

投稿日時 - 2013-12-02 00:06:03

お礼

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

投稿日時 - 2013-12-02 19:02:41

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問