アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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を押してマクロを実行する。
    • good
    • 6
この回答へのお礼

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

お礼日時:2013/12/02 19:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!