場合によっては、異なる Excel ワークブックのシートを結合して、新しいレポートまたは統合データ ファイルを作成する必要があります。このような操作は、標準の MS Excel ツールを使用して手動で実行できますが、多大な時間と労力がかかる場合があります。このプロセスを自動化し、レポートの作業を高速化する方法を考えてみましょう。
たとえば、多くのワークブック Excel があり、次のようなものを作成したいとします。 ワークシートのコレクション すべての本を 1 つのファイルにまとめます。これを行うには、すべてのシートを収集するブックを開き、次のマクロ コードを追加します。
すべてのシートを収集する Excel ワークブックを開いた状態で、Visual Basic Editor (Alt+F11) を開きます。 モジュール VBA を挿入 ( Insert - Module ) そして、このマクロ コードをそこにコピーします。
Sub CombineWorkbooks()
'moonexcel.com.ua
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files (*.xls), *.xls", _
MultiSelect:=True, Title:="Files to Merge")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox " ファイルが選択されていません! "
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
その後、Excel に戻り、メニューからマクロを実行できます。 Tools - Macro - Macros (Alt+F8) 。ダイアログ ボックスが表示されるので、現在のワークブックに追加するシートを 1 つ以上 (Ctrl キーを押しながら) 選択する必要があります。
別の Excel ファイル拡張子 (*.xlsx、*.xlsm、*.xlsb など) を使用する場合は、マクロのコードの 9 行目に適切な変更を加える必要があります。