2013-06-19 423 views
1

一般问题...如果我停止/退出EXCEL VBA:暂停 'For循环'

存在什么危险/中断在 'For' 在我的VBA代码回路(基于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 

基本上,我有我的代码在退出过早地为环(基于用户的输入)的方式构建。我只是想知道这是否会让我的程序易受崩溃(或其他危险)的影响。

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

感谢,

埃利亚斯

回答

6

这很好。可以使用GoTo退出循环。尽管使用GoTo将跳转到'For'循环并不好。 (根据循环变量数据类型跳转,似乎会产生运行时错误,说'For'循环未初始化,或者以静默方式无法循环。)

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

If MsgBox("blah blah", vbYesNoCancel, "blah") = vbYes Then 
    'do stuff 
    Exit For 
End If