あなたは月末の書類集計をするときなどに、メンバーから集めたエクセルデータを1つにまとめるのが大変だと思ったことはありませんか?
たくさんのエクセルブックを1つ1つ開いて確認するのを、ボタン1つで1つのブックにまとめられたら便利ですよね。
エクセルのマクロを使えば、複数のブックを1つのブックにまとめるのが簡単にできます。
今回は「エクセルで複数のブックを1つのブックにまとめるマクロボタンを作る方法」を紹介します。
エクセルで複数のブックを1つのブックにまとめるマクロボタンを作る方法
エクセルで複数のブックを1つのブックにまとめるマクロボタンを作る方法です。
今回は下のようにA、B、Cのエクセルブックを、1つのブックにまとめるのを例に紹介します。
それぞれ開くとこのような形になっています。
マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.「新規作成」をクリック
3.コード入力画面が開く
4.コードを入力
コードを入力します。
デスクトップのA,B,Cのファイルを開いて、シート1をコピーする →新しいブックに貼り付ける →新しいブックを保存する、という意味です。
赤枠部のコードです。
Dim desktopPath As String
Dim wbA As Workbook, wbB As Workbook, wbC As Workbook
Dim combinedWorkbook As Workbook
Dim ws As Worksheet
Dim i As Integer
' デスクトップのパスを取得
desktopPath = Environ("USERPROFILE") & "\Desktop\"
' 各ファイルを開く
Set wbA = Workbooks.Open(desktopPath & "A.xlsx")
Set wbB = Workbooks.Open(desktopPath & "B.xlsx")
Set wbC = Workbooks.Open(desktopPath & "C.xlsx")
' 新しいブックを作成
Set combinedWorkbook = Workbooks.Add
' ファイルAの内容をコピー
wbA.Sheets(1).Copy After:=combinedWorkbook.Sheets(1)
' ファイルBの内容をコピー
wbB.Sheets(1).Copy After:=combinedWorkbook.Sheets(combinedWorkbook.Sheets.Count)
' ファイルCの内容をコピー
wbC.Sheets(1).Copy After:=combinedWorkbook.Sheets(combinedWorkbook.Sheets.Count)
' 各ファイルを閉じる
wbA.Close False
wbB.Close False
wbC.Close False
' 最初のシートを削除
Application.DisplayAlerts = False
combinedWorkbook.Sheets(1).Delete
Application.DisplayAlerts = True
' 新しいブックの名前を設定
combinedWorkbook.SaveAs desktopPath & "CombinedWorkbook.xlsx"
' 新しいブックを閉じる
combinedWorkbook.Close False
MsgBox "ファイルを結合し、CombinedWorkbook.xlsxとして保存しました。", vbInformation
コードを入力したら、コードの入力画面を閉じて下さい。
5.ボタンができた →ボタンをクリック
ボタンができました。
6.次々とエクセルが開いて、シートをコピペし、1つのブックにまとめる
ボタンを押すと、ブックを開いてコピペを繰り返し、最後に「保存しました」と出ます。
できた新しいファイル。
開くとシートが3つコピペされ、まとまっています。
これであちこちのファイルを開かなくても、1つに集約すれば、集計がラクになりますね!
まとめ
エクセルで仕事でいつも使うアプリやファイルを全部一気に開く方法のまとめです。
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.コードを入れる画面が出る
4.コードを入力
5.ボタンができた →ボタンをクリック
6.次々とエクセルが開いて、シートをコピペし、1つのブックにまとめる
これでブックがたくさんあっても、集計が楽になりますね!
たくさんのファイルを1つにまとめたら、次は複数のシートに分かれた数字をまとめて、集計したいですよね。
別のシートをまたいで合計する方法を紹介していますので、下のリンク先へどうぞ。