📘 Excel逆引き事典

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

手作業で開いているExcelファイルの中から特定の文字列が含まれるファイルを探すのは大変です。この記事では、VBAを使って簡単に部分一致でワークブックを取得し、業務効率化を図ります。

サンプルコード

VBA
Option Explicit
Sub GetPartiallyMatchingWorkbooks()
    Dim wb As Workbook, targetString As String
    Dim matchingWbNames As Collection
    Set matchingWbNames = New Collection
    
    ' 対象文字列の指定(例:"Sales_2023")
    targetString = "Sales_2023"
    
    For Each wb In Application.Workbooks
        If InStr(1, wb.Name, targetString) > 0 Then
            matchingWbNames.Add wb.Name
        End If
    Next wb
    
    ' 結果表示(デバッグ用)
    Debug.Print "部分一致するワークブック名:"
    For Each wbName In matchingWbNames
        Debug.Print wbName
    Next wbName
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。