有什么方法可以在VBA中模拟Continue语句?

时间:2015-01-19 20:13:35

标签: vba

由于VBA没有Continue语句(或任何性质的东西),实现同样的事情的另一种方式是什么。

2 个答案:

答案 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