[英]IF statement not being evaluated correctly excel 2010 vba
我正在嘗試在文件名中查找包含特定文本的文件,並僅對那些文件運行宏。 一切都很棒,但是應該選擇特定文件的IF語句無法正確評估。 我可以看到文件名存儲在變量中,我什至嘗試將變量從變量轉換為字符串-但IF語句似乎並未讀取該名稱。 它在文件夾中的所有文件上運行宏。
Function Recurse(sPath As String) As String
Dim FSO As New FileSystemObject
Dim myFolder As Folder
Dim mySubFolder As Folder
Dim myFile As Variant
Dim file As String
Set myFolder = FSO.GetFolder(sPath)
For Each mySubFolder In myFolder.SubFolders
For Each myFile In mySubFolder.Files
file = myFile.Name
If file <> "*CONSOLIDATED SUMMARY.xls*" Then
Application.Workbooks.Open fileName:=myFile
Call UnmergeAndResize
ActiveWorkbook.Close SaveChanges:=True
End If
Next
Recurse = Recurse(mySubFolder.path)
Next
End Function
您不能使用*
字符在VBA中執行部分字符串匹配。
相反,您應該將包含If
語句的行替換為:
If InStr(file, "CONSOLIDATED SUMMARY.xls") = 0 Then
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.