【Excel VBA】特定文字を含む複数シートの表をコピーしてまとめてみる

シェアする

マクロを使って複数シートの表をまとめてみたくなったので、

マクロを使って複数シートの表をまとめてみました。


前回記事

【Excel VBA】別フォルダにある表をコピーしてみる
【Excel VBA】別フォルダにある表をコピーしてみる
マクロを使って指定したフォルダの表をコピーしてみたくなったので、 マクロを使って指定したフォルダの表をコピーしてみました。
【Excel VBA】複数ファイルの表をコピーしてまとめてみる
【Excel VBA】複数ファイルの表をコピーしてまとめてみる
マクロを使って複数ファイルの表をまとめてみたくなったので、 マクロを使って複数ファイルの表をまとめてみました。

ソースコードは前回からの継ぎ足しです。

VBAでやりたいこと

・指定したキーワードを含むシート名の中にある表をすべて取得する

・↑この処理を、複数ファイルに対して同様に行う

・処理画面をいちいち表示させず、高速に処理を行う

状況設定

場所 C:\work\vba

inフォルダ:読み取りたいエクセルファイルがあるフォルダ

outフォルダ:書き込みたいエクセルファイル(out.xlsx)を出力するフォルダ

test3.xlsm:マクロを実行するエクセルファイル

inフォルダ内にはファイルが複数存在しています。

これらをすべて読み込みたいです。

読み込みたいファイルの中身はこちら↑

同一フォーマットで、同じような表がシートごとに存在します。

表のあるシート名は、必ず『表●●』です。該当のシートのみを全て選択し、うまく表を抜き出したいです。

入力フォルダ、出力フォルダはエクセルのシート上で指定させます。

出力はout.xlsxの名前で新規作成して保存します。

実装

①指定したキーワードを含むシート名の中にある表をすべて取得する

ファイル内にあるシートの数だけループします。

変数Sheet_in にシート情報が毎回格納。

Sheet_in.Name でシート名を取得出来ます。

あとはLikeを使った条件分岐を行い、正のときのみコピー処理を行うようにしました。

②1の処理を複数ファイルに対して行う

【Excel VBA】複数ファイルの表をコピーしてまとめてみる
【Excel VBA】複数ファイルの表をコピーしてまとめてみる
マクロを使って複数ファイルの表をまとめてみたくなったので、 マクロを使って複数ファイルの表をまとめてみました。

これは前回記事で紹介しました。

③処理画面をいちいち表示させず、高速に処理を行う

頭に1行追加するだけです。

結果

出力はこのようになりました。

複数ファイル、複数シートの表が一つにまとまりました。

まつよう
とりあえず満足です

スポンサーリンク

シェアする

スポンサーリンク