【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.
シート名や列番号が正しいか確認してください。