我想创建一个代码来查找文件目录中的文件,并告诉我它是否只给出了文件名的一小部分。
我把这个分数放在宏表的第I列I8,这是一个数字“121”
如果我手动输入数字121而不是i,下面的代码可以工作,但是当从单元格引用i时它只是标记目录中的随机excel文件
Dim FilePath3 As String
Dim i As String
FilePath3 = Sheets("Macro").Range("J6")
i = Sheets("Macro").Range("I8")
file = Dir$(FilePath3 & "*i*" & ".*")
If (Len(file) > 0) Then
MsgBox "found " & file
End If
答案 0 :(得分:1)
i
位于您的文本块"*i*"
内,因此它不是您在代码中先前定义的变量i
!
此外,你可以在这样的循环中使用Dir()
来查看是否有多个结果:
Dim FilePath3 As String
Dim i As String
FilePath3 = Sheets("Macro").Range("J6")
i = Sheets("Macro").Range("I8")
file = Dir$(FilePath3 & "*" & i & "*.*")
Do While file <> vbNullString
If (Len(file) > 0) Then
MsgBox "found " & file
End If
file = Dir()
Loop