excel - 错误恢复下一步似乎不起作用

标签 excel vba

我有以下两行代码:

On Error Resume Next
myWorkbook.Sheets("x").Columns("D:T").AutoFit

我已进入宏并执行了 On Error Resume Next 行,然后在下一行 myWorkbook... 执行以下操作:

enter image description here

为什么编译器不恢复下一行代码?

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/

相关文章:

EXCEL:根据相邻数据透视表的样式格式化单元格

string - 设置单元格格式以获取逗号分隔值

excel - 从excel中的列表中分组文本字符串

vba - 设置 xWorkb = 新工作簿不工作,ActiveX 错误

VBA 1004 宏循环执行时出错

excel - 在 VBA 中查找适用于 MS Access 和 MS Excel 的应用程序目录路径

arrays - VBA - 从属性获取返回数组

excel - 如何在 excel 2010 中关闭自动功能(但似乎不是自动完成或自动更正)

c# - Excel ExcelDNA C#/尝试复制 Bloomberg BDH() 行为(在网络请求后写入数组)

vba - 如何在 Excel 中从逗号分隔列表构建下拉列表