EXCEL VBA:暂停'For Loops'

Eli*_*ias 1 excel vba loops exit

一般问题......

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

这是我的代码:

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
Run Code Online (Sandbox Code Playgroud)

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

那么,你认为中断/暂停/退出'for'循环可能会有问题吗?

谢谢,

埃利亚斯

Boa*_*ann 6

没关系.可以使用GoTo退出循环.我们不允许使用转到跳的"for"循环,但.(跳转,取决于循环变量数据类型,似乎产生运行时错误,说'For'循环未初始化,或者无声循环.)

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

If MsgBox("blah blah", vbYesNoCancel, "blah") = vbYes Then
   'do stuff
    Exit For
End If
Run Code Online (Sandbox Code Playgroud)