エクセルVBAでファイル名に特定の文字を含むファイルを開く!

エクセル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で一度に特定の文字を含む複数のファイルを開く!