2015-06-24 42 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无法正确打破错误]