如果您还不熟悉错误处理,我们强烈建议您先阅读此示例。当Excel VBA中发生错误时,Err对象的属性将填充信息。
情况:
下面的程序计算数字的平方根。
1. 在工作表上放置一个命令按钮,并添加以下代码行:
暗淡的 RNG 作为范围,细胞作为范围
设定 RNG =选择
对于 每个细胞在 RNG
在 错误 转到一个InvalidValue:
cell.Value = SQR(cell.Value)
接着细胞
退出 子
一个InvalidValue:
MSGBOX Err.Number的& “” &Err.Description& “在单元格”和“ cell.Address
继续 ”
设定 RNG =选择
对于 每个细胞在 RNG
在 错误 转到一个InvalidValue:
cell.Value = SQR(cell.Value)
接着细胞
退出 子
一个InvalidValue:
MSGBOX Err.Number的& “” &Err.Description& “在单元格”和“ cell.Address
继续 ”
选择Range(“ B2:B6”)并单击工作表上的命令按钮时的结果:
说明:发生错误时,Err对象的number属性将填充当前错误的唯一错误号,Description属性将填充当前错误的错误描述。
2.这些描述可能对您的程序用户不是很有帮助。您可以通过如下修改宏的最后一部分来使错误消息更加用户友好:
InvalidValue:
选择 大小写 Err.Number
大小写 为 = 5
MsgBox“无法在单元格”&cell.Address处计算负数的平方根
大小写 为 = 13
MsgBox“无法在单元格”&cell.Address处计算文本的平方根
结束 选择
继续 下一个
选择 大小写 Err.Number
大小写 为 = 5
MsgBox“无法在单元格”&cell.Address处计算负数的平方根
大小写 为 = 13
MsgBox“无法在单元格”&cell.Address处计算文本的平方根
结束 选择
继续 下一个
提示:浏览我们的Select Case程序以了解有关Select Case结构的更多信息。
结果: