在使用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错误处理的主题。你有没有尝试研究一下? –