我从未使用过 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/