1

一般问题...

如果我在我的 VBA 代码(基于 Excel)中暂停/退出/中断“For”循环,会有什么危险?

这是我的代码:

For i = 1 to Sheets.Count

    'check stuff
    'do stuff

    if MsgBox("blah blah", vbyesnocancel, "blah") = vbyes then
       'do stuff
        GoTo loopescape
    End if

Next

loopescape:

'rest of code

基本上,我的代码以一种过早退出 for 循环的方式构建(基于用户的输入)。我只是想知道这是否会使我的程序容易崩溃(或其他危险)。

那么,您认为中断/暂停/退出“for”循环可能有问题吗?

谢谢,

埃利亚斯

4

1 回答 1

6

没关系。可以使用 GoTo 退出循环。不过,使用 GoTo 跳入“For”循环是不行的。(根据循环变量的数据类型,跳入似乎会产生运行时错误,说明“For”循环未初始化,或者默默地无法循环。)

但是您不需要使用 GoTo 来退出。这正是该Exit For声明的用途:

If MsgBox("blah blah", vbYesNoCancel, "blah") = vbYes Then
   'do stuff
    Exit For
End If
于 2013-06-19T17:44:02.600 回答