ファイルに対する処理を行う際は、ファイルの有無を確認してから処理を行うことを推奨します。
存在しないファイルを開こうとすると、エラーが発生して処理が止まってしまいます。
その対策として、ファイルの有無を確認してファイルが有る場合に次の処理を行うようにします。

【関数化】
' ------------------------------------------------------------
' 説明:ファイルの有無を確認する
' 引数:1:確認するファイル名
' 戻値:ファイルがある場合:True
' ファイルが無い場合:False
' ------------------------------------------------------------
Function IsFileExists(file_name As String) As Boolean
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject ' オブジェクトの作成
IsFileExists = fso.FileExists(file_name) ' ファイルの有無を確認
End Function
【補足】
Scripting.FileSystemObject を使用しています。
初期設定では、エラーが発生するので、参照設定「Microsoft Scripting Runtime」の設定が必要です。
【補足2】【関数化】
Scripting.FileSystemObject を使用しない場合。
' ------------------------------------------------------------
' 説明:ファイルの有無を確認する
' 引数:1:確認するファイル名
' 戻値:ファイルがある場合:True
' ファイルが無い場合:False
' ------------------------------------------------------------
Function IsFileExists(file_name As String) As Boolean
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject") ' オブジェクトの作成
IsFileExists = fso.FileExists(file_name) ' ファイルの有無を確認
End Function
フォルダの有無を確認する(ファイルとフォルダ) 場合はリンクを参照してください。
ファイルとフォルダのどちらかの有無を確認する場合もあります。

コメント