Excel 打破For循环
如果满足条件,如何退出循环中的Excel 打破For循环,excel,vba,Excel,Vba,如果满足条件,如何退出循环中的For迭代,然后转到下一个循环。这个表有几千行,这样的循环中断会加快代码的速度。这不是仅从整个循环退出跳过一次迭代 For i = 1 To LastRow2 For j = 1 To LastRow3 If ark2.Cells(j, "F") = ark3.Cells(i, "J") Then GoTo NextIteration Else LastRow2 = ark2.C
For
迭代,然后转到下一个循环。这个表有几千行,这样的循环中断会加快代码的速度。这不是仅从整个循环退出跳过一次迭代
For i = 1 To LastRow2
For j = 1 To LastRow3
If ark2.Cells(j, "F") = ark3.Cells(i, "J") Then
GoTo NextIteration
Else
LastRow2 = ark2.Cells(Rows.Count, 1).End(xlUp).Row
ark2.Rows(LastRow2 + 1) = ark3.Rows(i)
End If
Next j
Next i
你到底想做什么?两个循环闻起来有点可疑。“退出”将退出最里面的循环。。。如果希望在内部循环中退出整个循环,则可以在循环外部设置一个布尔值,并仅在布尔值为true时继续(换句话说,如果布尔值已关闭,则在外部循环中退出),这是否回答了您的问题?使用完全不同的方法。。使用数组;)
Exit For
怎么不是正确的答案?是否要跳过任何迭代j
,转到下一个i
?然后退出。。。我能从这个问题得到的唯一其他解释是,你想跳到下一个j
?如果是这样的话,那么只要做如果不是ark2.Cells(j,“F”)=ark3.Cells(i,“j”),那么
并按照@MG92的建议将代码放入其中。然后,只有在没有匹配项的情况下,才会执行更昂贵的代码。如果有,它将迭代到下一个j
。