• 締切済み

VBA_フォルダ内複数のExcelファイルの集約

Excel VBAに関する質問です。 特定のフォルダ内(例としてC:\folder1)の複数のExcelファイルにおける シート(例としてSheet1)内のセル範囲A2:I1000の情報をコピーし、 特定のフォルダ内に格納されたExcelファイル(例としてC:\tougou\tougou.xls)の シート(例としてTOUGOU)内のA2を起点に貼り付け処理をしたいのですが、可能でしょうか? <貼り付けイメージ> (例)特定のフォルダ内(例としてC:\folder1)のExcelファイル数が2つの場合 A2 B2 ・・・・・I2 ・ ・ ・ ・ ・ A1999・・・・・・I1999 A2~I1999の範囲にデータが集約される。 どうぞよろしくお願いいたします。

みんなの回答

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

淡々と、 ブックを調べる ブックを開く 所定のセル範囲をコピーする 所定の位置に順繰り貼り付ける と繰り返すだけです。 sub macro1()  dim myPath as string  dim myFile as string  dim n as long  mypath = "c:\test\"  myfile = dir(mypath & "*.xls*")  n = 2  do until myfile = ""   workbooks.open filename:=mypath & myfile   workbooks(myfile).worksheets("シート名若しくはダブルコーテーションで囲わない数字の1").range("A2:I1000").copy thisworkbook.worksheets("TOUGOU").cells(n, "A")   workbooks(myfile).close false   n = n + 999   myfile = dir()  loop end sub

candle1
質問者

補足

ご回答頂きありがとうございます。 説明不足ですいません。 今回の例では、「C:\folder1」のExcelファイルのが2つのA2:I1000のデータ(シート名は「sheet1」)を 「C:\TOUGOU\TOUGOU.xls」の「TOUGOU」シートに下記のようなイメージで 貼り付けしたいのですが、上手くいきませんでした。 貼り付け先のパスが記載されていなかったからでしょうか? <貼り付けイメージ> (例) 特定のフォルダ内(例としてC:\folder1)のExcelファイル2つを 「C:\TOUGOU\TOUGOU.xls」の「TOUGOU」シートに貼り付けする。 A2 B2 ・・・・・I2 ・ ・ ・ ・ ・ A1999・・・・・・I1999 A2~I1999の範囲にデータが集約される。 以上ご確認の程よろしくお願いいたします。

関連するQ&A