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

エクセルでファイルを開くとき、複数のファイルを一度に開けると、ファイルを開く手間が省けます。ファイルを開くというと、簡単!と思いがちですが、ファイルのある場所が分かるにくところにあると、ファイルの所在地を探すのだけでも大変です。意外とファイルの場所を探すのに、大変な時間がかかったという事はないでしょうか。そこで、エクセルVBAで、特定の文字を含む複数のファイルを開くことができると、今までの大変だった作業が、楽になります。ここでは、まさに、ある任意の文字を含む複数のファイルを、一発で開きます。仕事が効率アップできます。

 

 

特定の文字を含む複数のファイルを開く

エクセルVBAで、特定の文字を含む、複数のファイルを開くコードです。

Workbooks.Open メソッドの引数にワイルドカードは、使用できないので、Dir 関数を使用してファイル名を取得します。

Dドライブの、「営業部フォルダ」の中にあるファイルを開いてみましょう。

ファイル名が「売上」で終わる、複数のファイルが一括で開くコードです。

Sub 特定の文字を含む複数のファイルを開くA()
Dim WFna As String
Dim Nc As Long
Const Wf As String = “D:\営業部フォルダ\”
WFna = Dir(Wf & “*売上.xlsx”)
Do While WFna <> “”
Nc = Nc + 1
Workbooks.Open Filename:=Wf & WFna
WFna = Dir()
Loop
End Sub

 

 

複数のファイルを開く

Dドライブ、「営業部フォルダ」にある、拡張子「.xlsx」のエクセルファイル、全てを開くコードです。

Sub 複数のエクセルファイルを開く()
Dim WFna As String
Dim Nc As Long
Const Wf As String = “D:\営業部フォルダ\”
WFna = Dir(Wf & “*.xlsx”)
Do While WFna <> “”
Nc = Nc + 1
Workbooks.Open Filename:=Wf & WFna
WFna = Dir()
Loop
End Sub

ワイルードカードで複数ファイルを開く

エクセルVBAで、1つのファイルを開くとき、ファイル名が決まっているときは、ワイルドカードを使う必要はないですが、複数のファイル開きたいときはどうでしょうか。ファイル名に特定の文字を含むファイルだったら、一度に複数ファイルを開くことができます。エクセルVBAを使うと、手作業で行っていた作業が一括でできます。ここでは、エクセルVBAで、特定の文字を含む、複数のファイルを開く方法を紹介しましたが、ファイルのパスを間違えたりすると、エラーが出ます。Workbooks.Open では、ちょっとしたことでエラーが出るので、ファイルの指定は間違えないように気を付けましょう。

こちらの記事もご覧ください。⇒エクセルVBAでファイルを閉じる!