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

締切り済みの質問

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の範囲にデータが集約される。


どうぞよろしくお願いいたします。

投稿日時 - 2012-09-13 00:39:42

QNo.7694843

すぐに回答ほしいです

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

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

回答(1)

ANo.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

投稿日時 - 2012-09-13 01:38:20

補足

ご回答頂きありがとうございます。

説明不足ですいません。

今回の例では、「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の範囲にデータが集約される。

以上ご確認の程よろしくお願いいたします。

投稿日時 - 2012-09-13 19:13:44

あなたにオススメの質問