簡體   English   中英

IF語句未正確評估Excel 2010 VBA

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM