📘 Excel逆引き事典

【VBA】開いている全ブックを完全一致で削除する方法

日々の業務では同じ名前の複数のExcelファイルが開かれていることがあります。これらのファイルを一括で閉じたい場合、手作業だと時間がかかるだけでなくミスも起こりやすいです。この記事では、VBAを使用して指定したワークブック名と完全一致する全ファイルを自動的に削除する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub DeleteWorkbookByName()
    Dim wb As Workbook, targetName As String
    ' 削除対象のワークブック名を指定
    targetName = "削除したいファイル名"
    
    Application.ScreenUpdating = False
    For Each wb In Workbooks
        If wb.Name = targetName Then wb.Close SaveChanges:=False
    Next wb
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
指定したワークブック名が間違っていないか確認してください。また、開いているワークブックに変更がある場合は保存してから実行することをお勧めします。