プロが教えるわが家の防犯対策術!

お世話になります。

フォルダ内のファイル(.xlsx)をマージしてひとつのブックに統合する処理を書きたいのですが、
各ファイルは全部開いて転記処理をしなければいけないのでしょうか?
VBAは初心者です。ファイルを開かずに転記処理することもできるのでしょうか?

ファイル数は変動(15~20くらい)
マージしたあとのレコード数は10万弱
シート名、見出し名、見出しの位置は固定

各シートごとにデータを統合したいです。

考え方を教えていただきたく、どうぞよろしくお願いいたします。

A 回答 (1件)

こんにちは



>各ファイルは全部開いて転記処理をしなければいけないのでしょうか?
転記するのでしょうから、ファイルを読まなければなりません。
全部を同時に開くかどうかは別として、読むためには何らかの形で開く必要があります。

通常の処理で考えれば、ファイルを順に処理してゆくことになるでしょうから、
 1)一つのファイルを開く
 2)ファイル内のシートを順に処理
 3)ファイルを閉じる
 4)次のファイルがあれば、1)へ戻る
といった感じで、ループで順に処理すると思います。

ファイルを開いたり閉じたりすると、画面がチラつくので「表示しない」ということは考えられます。
これによって、見た目には、ファイルを開いていないようにも見えるかもしれません。


>考え方を教えていただきたく、どうぞよろしくお願いいたします。
基本的には、なさりたいことを手作業で最も要領よくやる手順を考えて、それをVBA化することで可能と思います。

考えるのが面倒なら、検索すれば似た様なものは見つかると思います。
以下、一例。
https://majipon.jp/blog/?p=1619
    • good
    • 3
この回答へのお礼

どうもありがとうございます。大変参考になりました。

お礼日時:2022/05/13 10:36

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


人気Q&Aランキング