• 締切済み

複数のExcelブックから特定シートの特定セル抽出

同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 全く同じものがあれば、そのアドレスを回答いただくだけでも助かります。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\\share\target」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内の「概要」シートの「C3」セルで統一されています。 【抽出一覧作成イメージ】 ・「集約.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元C3セルの値。 ・C3セル値を「集約.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

作成例: sub macro1()  dim myPath as string  dim myFile as string  mypath = "\\share\target\"  myfile = dir(mypath & "*.xls")  do until myfile = ""   workbooks.open mypath & myfile   with workbooks("集約.xls").worksheets("Sheet1").range("A65536").end(xlup)    .offset(1, 0).value = myfile    .offset(1, 1).value = workbooks(myfile).worksheets("概要").range("C3").value   end with   workbooks(myfile).close savechanges:=false   myfile = dir()  loop end sub 集約ブックを開いて置いて実行する 通常は集約ブックにマクロを登録しておくのが良い 新しいマクロの記録で、目的のブックを実際に開く操作を記録マクロに録って、ファイルの指定の正しい記述を一回確認してマクロに反映すること。

fwgh7315
質問者

お礼

早速のご回答ありがとうございます。 本当に助かりますm(_ _)m