vba - Visual Basic for 应用程序 - 错误处理

标签 vba

我从未使用过 VBA,因此这可能是一项简单的任务,但我无法让它工作:-) 只是我需要在以下代码中捕获运行时错误:

Private Sub CheckBox1_Click()

ActiveWorkbook.Sheets("(X)").Unprotect
ActiveWorkbook.Sheets("(X)").Select
ActiveSheet.Range("F18").Select
'here comes the error
ActiveSheet.Range("$A$2:$X$310").AutoFilter Field:=1, Criteria1:="1"
Sheets("(40 UKÁŽKA)").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

最佳答案

欢迎使用老派的错误处理。

您正在寻找的是

Sub MySub()
  On Error Resume Next
    DoMyStuff()
End Sub

如果你想解决这个问题,例如相当于 Try Catch End

Sub MySub()
  On Error Goto ErrorHandler
    DoMyStuff()
  KeepGoing :
    DoSomeMoreStuffAnyway() 
  Exit Sub

ErrorHandler:
  HandleTheError()
Exit Sub

您可以从变量 Err 中获取错误号 您还可以在错误发生后修复并调用 Resume 转到下一行代码 您还可以恢复标签,例如继续上面的 KeepGoing。

更多信息请点击 MSDN VBA Error Handling

关于vba - Visual Basic for 应用程序 - 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288748/

相关文章:

excel - VBA 如何确定当前正在哪个软件产品中运行?

excel - 为什么在一个单元格的一部分中更改颜色或粗体不再起作用?

vba - 查找 CorelDraw Web 链接

vba - 有没有工具可以跟踪Excel单元格和VBA代码的依赖关系?

vba - 使用 VBA 破解 Excel 2013 及更高版本中 protected 工作表的密码

Excel Listobject 表 ListRows.count 与 range.rows.count

excel - 复制串联列并粘贴两次

VBA 函数参数列表选择

forms - VBA:在用户窗体上使用WithEvents

mysql - 如何用java在数据库中插入excel数据