首页 > 解决方案 > 在excel vba中检查多个文件名

问题描述

文件检查多个文件名并在单元格中变为绿色。 在 C5 单元格返回

Found = Dir(FolderPath & "\" & "01 - Introduction" & " " & Range("B5") & "_v" & Range("B3") & ".*")
    Found1 = Dir(FolderPath & "\" & "02 - Business" & " " & Range("B5") & "_v" & Range("B3") & ".*")
    Found2 = Dir(FolderPath & "\" & "04 - Linking" & " " & Range("B5") & "_v" & Range("B3") & ".*")
    Found3 = Dir(FolderPath & "\" & "05 - Data" & " " & Range("B5") & "_v" & Range("B3") & ".*")
    Found4 = Dir(FolderPath & "\" & "06 - Conclusion" & " " & Range("B5") & "_v" & Range("B3") & ".*")
    Found5 = Dir(FolderPath & "\" & "Systems_ABC" & "_v" & Range("B3") & ".*")

If Found <> "" & Found1 <> "" & Found2 <> "" & Found3 <> "" & Found4 <> "" & Found5 <> "" Then
    Range("C5").Interior.ColorIndex = 4
Else
    Range("C5").Interior.ColorIndex = 3
End If

代码不起作用,即使我更改了文件名,单元格仍然会返回绿色。

标签: excelvba

解决方案


改变这个:

If Found <> "" & Found1 <> "" & Found2 <> "" & Found3 <> "" & Found4 <> "" & Found5 <> "" Then
    Range("C5").Interior.ColorIndex = 4
Else
    Range("C5").Interior.ColorIndex = 3
End If

有了这个:

If Found <> "" And Found1 <> "" And Found2 <> "" And Found3 <> "" And Found4 <> "" And Found5 <> "" Then
    Range("C5").Interior.ColorIndex = 4
Else
    Range("C5").Interior.ColorIndex = 3
End If

And像这样被接受。另外,我假设您DIR一切正常。


推荐阅读