在使用vba進行編碼時,我注意到當我們期待一個錯誤,然後寫下「錯誤繼續下一步」。當真正發生錯誤時,err值會增加到1. 下面是一個簡單的示例代碼。錯誤處理和錯誤對象
Dim ws as worksheets
On error resume next
Set ws = sheets("hellosheet") ' hellosheet doesn't exist
If err <> 0 then
Msgbox "the worksheet hellosheet doesn't exist"
End if
正如你可以看到hellosheet不存在,使代碼是錯誤的。這部分中的錯誤值是否會增加到1.請幫助我理解如果我缺少某些東西的邏輯。 謝謝
如果你用'F8'單步執行宏,當錯誤行(或正好在錯誤行)之前,可以將鼠標懸停在錯誤行上,它會顯示錯誤信息。或者,添加'Debug.print「錯誤是:」&err「,它會將錯誤號碼打印到即時窗口。如果你想錯誤處理,可能[這個線程](http://stackoverflow.com/q/6688131/4650297)可能會有所幫助。 [或這一個](https://stackoverflow.com/questions/6040164/excel-vba-if-worksheetwsname-exists)不使用錯誤處理。 – BruceWayne
本頁頂部有一個「文檔」鏈接,其中有一個專用於VBA錯誤處理的主題。你有沒有嘗試研究一下? –