The following two tabs change content below. VBA集計業務では、複数のブックから1つのブックへデータを集計する作業があります。本記事では、5つの開かれた複数のブックから順次データを取り出し、1つの取りまとめ用ブックへ集計するVBAサンプルコードをご紹介します。, まずは本記事でご紹介するサンプルファイルの内容と、実行ビフォアアフターが分かる1分動画をご確認ください。, まずは会計用データを収めたサンプルファイルを準備してください。サンプルファイルは、1つの取りまとめ用ブックと5つの部門別ブックの合計6ファイル(ブック)あります。またそれらのブックには、各1枚のワークシートがあります(下図)。, 5部門のレコードを1つのシートに集計させるVBAコードになります。それでは、「00 取りまとめ用.xlsx」に標準モジュールを追加して、以下のコードを真似して書いてください。また時間のない場合は、下のサンプルコードをコピペしてください。, 「00 取りまとめ用.xlsx」に標準モジュールを追加して、サンプルコードを転記した後は、いよいよVBAの実行になります。, 今回は、集計対象レコードをもつすべての部門別ブックを開いた状態で集計しますので、まだ開いていない場合は下記手順で部門別ブックを開いてください。, まず、Excel画面左上の「ファイル」メニューをクリックして、バックステージビュー(下図)を開きます。次に①の「開く」、② の「参照」をクリックすると、「ファイルを開く」画面が開きます。, そこで、図のように部門別ブックが保存されているフォルダから、5つの部門別ブックを複数選択(③)した上で、③の「開く」をクリックします。これで5つの部門別ブックが開きますので、開いているExcelブック数は、取りまとめ用と合わせて6個になります。, ここで注意いただきたいのですが、VBAコード実行前は上記6つのExcelブック以外は開いていない状態にしてください。, では、VBAコードを実行してみましょう。VBA実行後のサンプルファイルの結果は下のようになります。, 図は、最初に集計された人事部データですが、下までスクロールすると5つの部門のデータが集計されていますので、実際に確認してみてくださいね。, 7行目: Dim wbkSelf As Workbook, wstSelf As Worksheet, l