我有以下两行代码:
On Error Resume Next
myWorkbook.Sheets("x").Columns("D:T").AutoFit
我已进入宏并执行了 On Error Resume Next
行,然后在下一行 myWorkbook...
执行以下操作:
为什么编译器不恢复下一行代码?
On Error
在整个过程代码中被广泛使用;我意识到最佳实践是尽可能少地使用它,但它似乎符合这个宏的目的。
阅读本文SO QUESTION它表示不能将一组错误捕获到另一组错误中。如何保证一组错误捕获在代码继续之前已“关闭” - On Error Goto 0
是否重置错误捕获?如果它确实重置那么为什么不恢复以下工作?:
Sub GetAction()
Dim WB As Workbook
Set WB = ThisWorkbook
On Error GoTo endbit:
'raise an error
Err.Raise 69
Exit Sub
endbit:
On Error GoTo 0
On Error Resume Next
WB.Sheets("x").Columns("D:T").AutoFit
End Sub
最佳答案
还有一个 VBA 设置会导致 On Error ...
语句被忽略,并且该对话框始终出现。有关检查/更改选项的更多详细信息,请参阅此答案:https://stackoverflow.com/a/3440789/381588
关于excel - 错误恢复下一步似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459332/