然而,我们强烈建议您先阅读这个例子。当在Excel VBA发生错误时,Err对象的属性信息填满。

现状:

下面的程序计算数的平方根。

Err Object in Excel VBA

1.将一个命令按钮

您的工作表,并添加以下代码行:

Dim rng As Range, cell As Range

Set rng = Selection

For Each cell In rng

On Error GoTo InvalidValue:

cell.Value = Sqr(cell.Value)

Next cell

Exit Sub

InvalidValue:

MsgBox Err.Number & " " & Err.Description & " at cell " & cell.Address

Resume Next

结果,当你选择Range(“B2:B6”),并单击工作表上的命令按钮:

Err Object Result

Err Object Result

说明:当发生错误时,Err对象的数量属性填充有当前错误的一个独特的错误数量和说明属性填充有当前错误的错误描述。

2.这些描述可能不是你的程序的用户来说非常实用。你可以使错误信息更方便用户通过修改宏的最后部分如下:

InvalidValue:

Select Case Err.Number

Case Is = 5

MsgBox "Can't calculate square root of negative number at cell " & cell.Address

Case Is = 13

MsgBox "Can't calculate square root of text at cell " & cell.Address

End Select

Resume Next

选择案例计划,以了解更多的选择事例结构。

结果:

Friendly Message

Friendly Message