正確打破在Excel 2010中,我有這樣的剪斷代碼:Excel的VBA不是錯誤
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Worksheets("Satisfaction Summary").Delete
On Error GoTo 0
Set Report = Worksheets.Add(after:=Worksheets("Main"))
'added this line to force an error:
I = 1/0
我們的目標是要刪除的表,如果它存在,如果沒有,忽略錯誤,然後加入一這個名字的表。
當我去工具|選項|常規並選擇所有錯誤休息,如果表不存在,IDE將停止,我無法繼續,因爲錯誤的。如果我將該設置更改爲中斷未處理錯誤,我完全按照我的預期過去。
不幸的是,如果我離開它中斷設置處理錯誤,所有其他錯誤我打導致調試器停止執行,這不是什麼它應該做的事。不,它不會暫停執行並向我顯示錯誤的代碼行,從而使我能夠調查問題並解決問題,並終止代碼的執行。它確實給了我一個顯示錯誤號&描述的對話框,但是當我點擊確定時,代碼執行已經終止,並且它不會將我移動到錯誤所在的代碼行。
有沒有其他人經歷過這一點,對解決這個問題的任何提示?
EDITS:添加了一行的代碼強制立即錯誤。這是對話框彈出時,選擇處理錯誤中斷:
正如你所看到的,沒有MSGBOX電話。
這應該只會發生,如果你有一個錯誤處理程序(正在做它應該做的)。 – Rory 2015-02-09 16:04:57
我不知道我跟着你。目前,此代碼是我處理的唯一錯誤處理。我期望_Break on Unhandled Errors_可以暫停執行上面兩個'On Error'行之外的任何其他代碼行,但事實並非如此。 – FreeMan 2015-02-09 16:07:58
也有類似的問題,前幾天[這裏](http://stackoverflow.com/questions/28371485/no-debug-option-in-vba-runtime-error)。如果完全關閉Excel,並將此代碼放入新的工作簿中,是否仍存在相同的問題? IDE不應該在不允許你調試的情況下中斷,而且你描述的錯誤消息框(如另一個Q)似乎是一個'MsgBox'提示符,而不是實際的錯誤警報... – 2015-02-09 16:11:31