2013-06-19 338 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