2015-06-24 40 views
1

在此發佈此信息以防萬一它可以幫助他人。我看到一些奇怪的行爲,其中:VBA發生錯誤時不會出現錯誤

Sub somesub() 
On Error GoTo Handler 
    Dim x 
    x = 1/0 
    MsgBox("Done") 
    Exit Sub 
Handler: 
    MsgBox("Error was handled") 
End Sub 

沒有捕捉到錯誤。

SO上有一個相關的問題,在:Excel VBA Not Properly Breaking on Error,但它詢問如何減少在錯誤陷印設置中做出一個或另一個選擇的副作用。這是問爲什麼錯誤處理不工作在所有

+2

可能重複(http://stackoverflow.com/questions/28413919/excel-vba-not-properly-breaking-on-error ) –

+1

不得不給你一個榮譽,因爲我只是有這個相同的問題。另一篇文章可能很相似,但這篇文章更有幫助。 – Tim

回答

1

原來在VBA編輯器,根據

工具>>選項>>通用>>錯誤捕獲

我有「中斷全部錯誤」選擇,它覆蓋代碼中的任何指令轉到或恢復錯誤。將選擇更改爲「解決未處理的錯誤」解決了我的問題。

來源爲答案:Five tips for handling errors in VBA

的[EXCEL VBA無法正確打破錯誤]