【VBA】開いている全ブックを完全一致でコピーする方法
日々の業務では、同じ名前のワークブックを複数開いて作業することが多いと思います。しかし、これらのワークブックを一つずつ手動でコピーするのは非常に労力がかかります。そこで、この記事ではVBAを使って開いている全ワークブックを完全一致でコピーする方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub CopyAllOpenBooks()
Dim wb As Workbook, targetWb As Workbook
Application.ScreenUpdating = False
For Each wb In Workbooks
If wb.Name Like "*特定の名前*" Then '完全一致でコピーするワークブックを指定
Set targetWb = Workbooks.Add
wb.Sheets(wb.Sheets.Count).Copy Before:=targetWb.Sheets(1)
Application.DisplayAlerts = False
wb.Close SaveChanges:=False
Application.DisplayAlerts = True
End If
Next wb
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。また、ワークブック名が完全一致で指定されているかも確認しましょう。