- 締切済み
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の範囲にデータが集約される。 どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
淡々と、 ブックを調べる ブックを開く 所定のセル範囲をコピーする 所定の位置に順繰り貼り付ける と繰り返すだけです。 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
補足
ご回答頂きありがとうございます。 説明不足ですいません。 今回の例では、「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の範囲にデータが集約される。 以上ご確認の程よろしくお願いいたします。