2017-08-18 66 views
-1

請找到我的下面的錯誤處理代碼。如何處理更多的1錯誤處理程序的VBA excel

Sub trial() 
On Error GoTo MyHandler 
s = 15/0 
MyHandler: 
s = 0 

On Error GoTo my2Handler 
h = 10/0 
Handler: 
h = 0 

End Sub 

我的第二個錯誤處理程序即my2Handler沒有工作,我不能夠在1次使用這兩種錯誤處理的。

回答

0

您可以如下使用Resume

Sub trial() 

Check1: 
    On Error GoTo MyHandler 
    s = 15/0 

Check2: 
    On Error GoTo my2Handler 
    h = 10/0 

Exit Sub 

MyHandler: 
    s = 0 
    Resume Check2 

my2Handler: 
    h = 0 

End Sub 
+0

感謝您的解決方案,但如果在計算中獲取值時沒有錯誤,那麼我的代碼將不會轉到第二個錯誤處理程序,即** my2Handler **,因此我可以分別處理錯誤處理程序。 – sagar

+0

@sagar - 查看我更新的答案。 – Mrig

1

您不必爲my2Handler標籤他們都需要去在底部MyHandler的作爲總會被調用,像這樣

Sub twoerrors() 

On Error GoTo Handler1 

' do something 

On Error GoTo Handler2 

' do something else 
Exit Sub 

Handler1: 
    Exit Sub 

Handler2: 
    Exit Sub 

End Sub