【发布时间】:2015-12-08 11:10:23
【问题描述】:
我希望下面的代码评估数据集中的每一行,将第 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
【问题讨论】:
-
我不是要退出 For,而是要退出 If 并继续到 For 中的下一个 iRow。