2014-10-17 23 views
0

我一直在尋找,但我找不到能夠回答這個問題的東西。Excel VBA - 是否可以調用子錯誤?

我得到一個錯誤,我知道是什麼造成它,它不是一個真正的問題。如果發生此錯誤,它只需要在運行下一行代碼之前運行另一個子。所以這使我想知道:

是否有可能做這樣的事情:

On Error Call Sheet1.TestSub 

提前感謝!

回答

2

你能做的最好是轉移到代碼的一個單獨的部分來處理錯誤,然後分支回線立即行提高下面的錯誤號。 (如果你知道這條線是什麼!)

+0

我所知道的行,所以如果我做了錯誤處理程序,調用子在那裏,然後分支返回('GoTo 0')是做這件事的最好方法嗎? – 2014-10-17 15:00:24

+0

或者分支回該行的代碼是什麼? – 2014-10-17 15:00:42

+0

這是唯一簡單的方法....你需要一個**標籤**在「提升者」下面的行上。然後** GOTO *那個標籤。 – 2014-10-17 15:02:10

6

你可以嘗試這樣的事:

Sub test() 
On Error GoTo 10 
Set a = b 
MsgBox ("still going") 

Exit Sub 
10: test2 
Resume Next 

End Sub 

Sub test2() 
MsgBox ("Error") 

End Sub 
+0

+1回答謝謝!但我已經有了我的答案;) – 2014-10-17 15:10:47