今日学习目标
- 理解错误处理的重要性
- 掌握On Error语句的使用
- 学会自定义错误处理
知识点
1. On Error语句
vba' 遇到错误跳转到标签
On Error GoTo 标签名
' 忽略错误继续执行
On Error Resume Next
' 恢复错误捕获
On Error GoTo 02. 错误处理结构
vbaSub 示例()
On Error GoTo ErrorHandler
' 可能出错的代码
Exit Sub
ErrorHandler:
' 错误处理代码
MsgBox "错误: " & Err.Description
End Sub今日代码
vbaSub 错误处理示例()
On Error GoTo ErrorHandler
Dim ws As Worksheet
' 可能出错的操作
Set ws = Worksheets("不存在的表")
ws.Range("A1").Value = "测试"
Exit Sub
ErrorHandler:
MsgBox "发生错误!" & vbCrLf & _
"错误号: " & Err.Number & vbCrLf & _
"描述: " & Err.Description, vbCritical, "错误信息"
End Sub
Sub ResumeNext示例()
On Error Resume Next
' 忽略错误继续执行
Worksheets("Sheet1").Range("A1").Value = "测试"
Worksheets("不存在的表").Range("A1").Value = "这行不会出错"
On Error GoTo 0 ' 恢复错误捕获
MsgBox "代码执行完成", vbInformation
End Sub练习题
- 创建带有完整错误处理的程序
- 处理文件不存在的错误
- 记录错误日志
参考解答
1. 使用On Error GoTo ErrorHandler结构,在ErrorHandler标签处处理错误。 2. 打开文件前检查文件是否存在,使用Dir函数或On Error Resume Next捕获错误。 3. 将错误信息写入文本文件或单元格,使用Open语句和Print #写入文件。
由在线工具箱(www.vba.net)整理制作