📘 Excel逆引き事典

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

日々の業務では、複数のExcelファイルを開きながら作業することが多いと思います。その中から特定のワークブックだけに絞り込むことは、効率化やミス防止のために非常に重要です。この記事では、開いている全ワークブックの中から完全一致で指定した名前のワークブックを取得するVBAマクロを作成します。

サンプルコード

VBA
Option Explicit
Sub GetOpenWorkbookByName()
    Dim wb As Workbook, targetName As String
    ' 完全一致で探すワークブックの名前を入力
    targetName = "完全一致したいワークブックの名前"
    
    For Each wb In Application.Workbooks
        If wb.Name = targetName Then
            MsgBox wb.Name & " が見つかりました。", vbInformation
            Exit Sub ' 見つかったら終了
        End If
    Next wb
    
    MsgBox "指定したワークブックは開いていません。", vbExclamation
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
指定したワークブック名が間違っている場合や、開いていない場合はメッセージボックスで通知されます。確認して再度実行してください。