📘 Excel逆引き事典

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

日々の業務で、大量のExcelファイルの中から特定のファイルを見つけるのは大変な作業です。この記事では、開いているすべてのワークブックから完全一致で指定した名前のファイルを効率的に抽出する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub ExtractWorkbookByName()
    Dim wb As Workbook, targetName As String
    Dim foundWb As Workbook
    ' 完全一致のワークブック名を指定
    targetName = "完全一致で抽出したいワークブック名"
    
    For Each wb In Application.Workbooks
        If wb.Name = targetName Then
            Set foundWb = wb
            Exit For
        End If
    Next wb
    
    ' 抽出されたワークブックを表示
    If Not foundWb Is Nothing Then
        MsgBox "指定のワークブック名: " & targetName & " が見つかりました。", vbInformation, "抽出完了"
    Else
        MsgBox "指定のワークブック名: " & targetName & " は開いていません。", vbExclamation, "未発見"
    End If
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
指定されたワークブック名が間違っていないことを確認してください。