Excelマクロで複数ファイルのデータをまとめる方法:転記ひな型と作業効率化のポイント

Excel

複数のExcelファイルから特定のセルや範囲を1つのファイルにまとめる作業は、手作業では時間がかかります。VBAマクロを活用すると効率的に転記作業が行えます。本記事では、複数ファイルのデータをまとめるマクロのひな型と、設定時の注意点を解説します。

転記マクロの基本構造

複数ファイルからデータを集約する場合、基本的な構造は以下の通りです。

  • 対象ファイルを開く
  • 指定したシート・セルの値を取得
  • まとめファイルの指定セルに値を書き込む
  • 対象ファイルを閉じる

これを繰り返すことで、日付や項目ごとにまとめた資料を作成できます。

具体的なセル転記例

例えば、2工程ファイルのAシートE8の値をまとめ資料ファイルのD8に転記する場合、VBAでは次のように記述します。

Workbooks("工程ファイル.xlsx").Sheets("Aシート").Range("E8").Copy _
Destination:=Workbooks("まとめ資料.xlsx").Sheets("D8")

同様に、1工程ファイルBのA機種シートE9の値をまとめ資料の04シートE8に転記する場合も同様の書き方で対応可能です。

日次データのまとめ

E:AIに31日分のデータがある場合、Forループを使用して順次まとめ資料の指定行に書き込むことができます。

For i = 1 To 31
    ' データ取得と転記処理
Next i

これにより、毎日のDNデータや数値を自動でまとめることができます。

数式転記の活用

ABC式やDN変換など、複雑な数式をまとめ資料に反映させる場合は、セルごとの数式をVBAで設定できます。Index関数やIf関数をマクロ内でRange.Formulaで設定すると効率的です。

例えば、F25セルに=INDEX($F$19:$BO$19,1,(COLUMN()-COLUMN($F$25))*2+1)を設定する場合、VBAでは:

Worksheets("Sheet1").Range("F25").Formula = "=INDEX($F$19:$BO$19,1,(COLUMN()-COLUMN($F$25))*2+1)"

まとめ

ExcelのVBAマクロを利用すれば、複数ファイルや複数シートのデータをまとめて1つの資料に転記できます。セルや範囲の指定、Forループでの繰り返し処理、Formulaプロパティを活用した数式設定を組み合わせることで、作業の自動化と効率化が可能です。

コメント

タイトルとURLをコピーしました