Excel VBA-跳过子项或结束子项IF语句

Excel VBA-跳过子项或结束子项IF语句,excel,vba,loops,if-statement,vlookup,Excel,Vba,Loops,If Statement,Vlookup,我的代码循环遍历表中的单元格值,并查看是否存在同名文档。 如果确实存在,它将执行打开这些文件和导入数据的操作 If bProcess Then FileCounter = 0 For Each folderIDX In PrimaryMergeFiles 'If folderIDX.Name = Worksheets("Table").Range("A1:A13") Then Dim vTest As Variant vTest =

我的代码循环遍历表中的单元格值,并查看是否存在同名文档。 如果确实存在,它将执行打开这些文件和导入数据的操作

If bProcess Then
    FileCounter = 0
    For Each folderIDX In PrimaryMergeFiles
        'If folderIDX.Name = Worksheets("Table").Range("A1:A13") Then
        Dim vTest As Variant
        vTest = Application.WorksheetFunction.VLookup(folderIDX.Name, Worksheets("Table").Range("A1:B13"), 2, False)

        'Creating Merge File
        If Not IsError(vTest) Then
            FileCounter = FileCounter + 1

            strStatus = "Creating file " & FileCounter & " of " & PrimaryMergeFiles.Count & ": " & folderIDX.Name
            Application.StatusBar = strStatus
            CreateMergedFile wdApp, sPrimaryMergeDirectory, folderIDX.Name, sSourceFile, ClientCount, _
                sClientSubDirectory, bClearHighlightings(ClientCount), bHome
            'ElseIf IsError(vTest) Then
        Else
            End Sub
        End If  
    Next
End If
当vTest出错时,如何跳过文件或结束循环/子循环?

您应该使用:

Else
    Exit Sub '<-- Exit! :)
End If
Else

Exit Sub“不幸的是,当它到达一个不在vlookup中的文件时,我收到了这个错误消息:运行时错误“1004”应用程序定义的错误或对象定义的错误
Else
    End Sub '<-- Instead of End :3
End If
Dim vTest As Variant

On Error Resume Next '<-- Add these since you are catching the error immediately after
vTest = Application.WorksheetFunction.VLookup(folderIDX.Name, Worksheets("Table").Range("A1:B13"), 2, False)
On Error Goto 0      '<-- You will handle your error on the next line

If Not IsError(vTest) Then '...

'You may also want to use/use instead: If Err.Number <> 0 Then ...