退出嵌套的“If”语句

我想要下面的代码来评估数据集中的每一行,将列35匹配到一个范围,然后粘贴到正确的选项卡中。

我遇到了If Not IsError语句问题。 在没有发生匹配的情况下,我希望If Not Then跳过剩余的嵌套代码并跳转到For循环的末尾,移动到下一行iRow

 Sub testFind() Dim csCount As Range Dim b As Variant Dim shrow As Long Dim iRow As Long, iRowL As Long, var As Variant Dim bln As Boolean Dim s As String Dim eRow As Integer Set csCount = Worksheets("Input").Range("csCount") iRowL = Cells(rows.count, 1).End(xlUp).Row For iRow = 2 To iRowL If Not IsEmpty(Cells(iRow, 35)) Then bln = False var = Application.Match(Cells(iRow, 35).Value, Worksheets("Input").Columns(3), 0) If Not IsError(var) Then Sheets("GL008").rows(iRow).copy s = Sheets("GL008").Cells(iRow, 35) Sheets(s).Activate eRow = Sheets(s).Cells(rows.count, 1).End(xlUp).Offset(1, 0).Row ActiveSheet.Paste Destination:=Sheets(s).rows(eRow) End If End If Next iRow End Sub 

使用CvErr

代替

 If Not IsError(Var) Then ' '~~> Rest of the code ' End If 

用这个

 If Not CVErr(Var) = CVErr(xlErrNA) Then ' '~~> Rest of the code ' End If