如何停止执行for循环语句的当前迭代?
Exit
结束整个循环的执行,我真的使用goto
吗?
答案 0 :(得分:3)
您通常希望在满足给定条件时跳过迭代 - 您在VBA中有2个选项:
将循环体包裹在If
块中:
For i = 1 to 100
If SomeCondition Then
' interesting iterations
End If
Next
使用GoTo
跳过迭代(并减少嵌套):
For i = 1 to 100
If Not SomeCondition Then GoTo Skip
' interesting iterations
Skip:
Next
是的,GoTo
很糟糕。但这是一种旧语言,GoTo
确实具有合法用途 - 这是其中之一。如果您保持代码干净并且extract the loop body into its own procedure,则使用它时不会出现任何可读性问题。