2016-07-29 73 views
-2

一旦出現錯誤,我希望暫停執行我的VBA代碼,並在更正後繼續執行?!因爲我有很長的執行時間,所以它總是從一開始...如何在錯誤時暫停執行vba代碼?

+0

如果錯誤,將不得不重新開始,除非你添加使用Resume語句(不推薦,除非你真的知道自己在做什麼) – RGA

+0

實際上它只是從不同勢Excel中獲取數據錯誤處理工作簿,所以當它沒有找到一個我希望它可以暫停在那裏,一旦我糾正它,它從最後一個未保存的行 –

+0

開始,那麼你應該添加錯誤處理,允許它跳過這個,所以你甚至沒有以糾正它:) – RGA

回答

1

您需要使用錯誤處理程序。類似於

On Error GoTo errorTrap 

在您的代碼開始後您的昏暗和其他設置。 然後對於實際的errortrap,你可以在End Sub之前寫入。

整件事看起來像這樣。

Sub test() 
    Dim v As Variant, x As Integer 'etc etc 
    On Error GoTo errorTrap 
    'run your code here. An example is below 
    x = "hello" 'this will create an error since hello is not an integer 
    MsgBox "finished" 

    End 'ignore the error trap when done 
errorTrap: 
    Debug.Print Err.Description 
    Stop 'stop here and figure out what is going on. 
    'any other code needed to fix the error 
    Resume Next 
End Sub