VBAのDir()関数のワイルドカードは誤動作する。
Dir("*1.txt") のようなワイルドカードを指定すると、"*1.txt" でないファイルも拾います。
これは、Dir()が短いファイル名の~1などを拾うからです。
Dim Filename As String
Filename = Dir("*1.txt")
Do While Len(Filename)
Debug.Print Filename
Filename = Dir()
Loop
Dir()の障害のような気がしますが、これは仕様と諦めて、If ~ Like "*1.txt" Then などで二重にチェックするとよいでしょう。
Dim Filename As String
Filename = Dir("*1.txt")
Do While Len(Filename)
If Filename Like "*1.txt" Then
Debug.Print Filename
End If
Filename = Dir()
Loop