由于VBA没有Continue语句(或任何性质的东西),实现同样的事情的另一种方式是什么。
答案 0 :(得分:1)
在没有提供Continue语句的语言中执行此操作的最佳方法是将剩余的代码块包装在if
条件下。
For i=1 to 10
'some code here
If I_want_to_finish_this_loop
'do your thing
End If
Next i
这避免了使用Goto,你唯一的代价就是扭转这种情况。
如果您有多个地方需要继续,最好的办法是在代码中放置一个继续标签,然后转到它。
For i=1 to 10
'some code here
If I_dont_want_to_finish_this_loop
Goto Continue
End If
'finish the loop
:Continue
Next i
答案 1 :(得分:-2)
一种方法是使用封闭的Do ... Loop。当然,这不会在另一个Do ...循环中工作,但我们在大多数编程语言中遇到过这种情况。
For i=1 To 10
Do
'Do everything in here and
If I_Dont_Want_Finish_This_Loop Then
Exit Do
End If
'Of course, if I do want to finish it,
'I put more stuff here, and then...
Loop While False 'quit after one loop
Next i