EXCEL VBA:暂停“循环”

一般问题…

如果我暂停/退出/中断我的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 

基本上,我有我的代码构build的方式提前退出for循环(基于用户的input)。 我只是想知道这是否会让我的程序易受崩溃(或其他危险)的影响。

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

谢谢,

埃利亚斯

没关系。 可以使用GoTo退出循环。 尽pipe使用GoTo跳转到“For”循环并不好。 (根据循环variables数据types跳转,似乎会产生一个运行时错误,说'For'循环没有被初始化,或者默默无法循环。

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

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