エクセルVBAで、特定の文字を含むファイルを開く方法を紹介しています。例えば、毎月作業するファイルがあって、ファイル名の一部が毎月変わるとします。ファイルが存在しているフォルダは決まっています。そのような場合、フォルダを探してファイルを開くのは面倒です。フォルダの所在地がかなり奥深くある時は、尚更、大変です。そのような時、部分一致するファイルを開くVBAを作成すると、一発で目的のファイルが開けます。特定の文字を含むファイルを開くには、ワイルドカードを使います。ボタンを作っておくと、ボタンをクリックするだけで開けます。
特定の文字を含むファイルを開く
エクセルVBAで、特定の文字を含むファイルを開くコードです。
特定の文字を含むファイルを、1つ開きます。
Const で定数を宣言します。Workbooks.Open メソッドの引数にワイルドカードは、使用できないので、Dir 関数を使用してファイル名を取得します。
次のVBAでは、ファイル名「20180215一覧表」といった、「一覧表」で終わるファイル名を開きます。
Sub 特定の文字を含むファイルを開くA()
Const WF As String = “D:\業務用フォルダ\”
Dim WFna As String
WFna = Dir(WF & “*一覧表.xlsx”)
Workbooks.Open Filename:=WF & WFna
End Sub
次のVBAでは、例えば、ファイル名「20180215一覧表A」、といったファイル名を開きます。「?」は1文字を表します。
Sub 特定の文字を含むファイルを開くB()
Const WF As String = “D:\業務用フォルダ\”
Dim WFna As String
WFna = Dir(WF & “*一覧表?.xlsx”)
Workbooks.Open Filename:=WF & WFna
End Sub
特定の文字を含むファイルを開く(メッセージをを表示)
エクセルVBAで、特定の文字を含むファイルがなかったら、メッセージを表示するコードです。
特定の文字を含むファイルがあったら、ファイルが開きます。
Sub 特定の文字を含むファイルを開くC()
Const WF As String = “D:\業務用フォルダ\”
Dim WFna As String
WFna = Dir(WF & “*一覧表.xlsx”)
If WFna <> “” Then
Workbooks.Open Filename:=WF & WFna
Else
MsgBox “ファイルが存在しません。”
End If
End Sub
部分一致のファイルを開く
エクセルで、よく開くファイルがあるとき、ファイル名が一部変更する場合は、特定の文字を含むファイルを開くVBAを作成すると、簡単に探しているファイルが開けます。ファイルを開くのは簡単ですが、ファイルの所在地が、分かりにくいところにある!ファイル名が一部変更になるので、ファイル名をよく忘れてします!というような場合は、エクセルVBAです。ここでは*(アスタリスク)で「一覧表」で終わるファイル名を開きましたが、「一覧表*.xlsx」といったように、「一覧表」で始まるファイルを開いたりと、ワイルドカードを使って、色々な特定の文字を含むファイルを開けます。
こちらの記事もご覧ください。⇒エクセルVBAで一度に特定の文字を含む複数のファイルを開く!