小兔网

下面我们将看看Excel VBA中的两个程序一个程序只是忽略错误遇到错误后,另一个程序将在指定的行继续执行

情况:

这两个程序都计算数字的平方根

Excel VBA中的错误处理

平方根1

将以下代码行添加到“平方根1”命令按钮。

1.首先,我们声明两个Range对象。我们将Range对象称为rng和cell。

昏暗的 RNG 作为范围,电池作为范围

2.我们使用所选范围初始化Range对象rng。

设置 rng =选择

3.我们要计算随机选择范围内的每个像元的平方根(该范围可以是任意大小)。在Excel VBA中,可以为此使用“每个下一个”循环。添加以下代码行:

对于 每个细胞 RNG

接着细胞

注意:这里随机选择rng和cell,您可以使用任何名称。请记住在其余代码中引用这些名称。

4.将以下代码行添加到循环中。

关于错误继续

5.接下来,我们计算值的平方根。在Excel VBA中,我们可以为此使用Sqr函数。将以下代码行添加到循环中。

cell.Value = Sqr(cell.Value)

6.退出Visual Basic编辑器并测试程序。

结果:

错误恢复下一个结果

结论:Excel VBA忽略了包含无效值(例如负数和文本)的单元格。如果不使用“ On Error Resume Next”语句,则会出现两个错误。当您确定可以忽略错误时,请小心仅使用“ On Error Resume Next”语句。

平方根2

将以下代码行添加到“平方根2”命令按钮。

1.与平方根1相同的程序,但将“ On Error Resume Next”替换为:

出错时转到 InvalidValue:

注意:在这里随机选择InvalidValue,您可以使用任何名称。请记住,在其余代码中都使用此名称。

2.在For Each Next循环之外,首先添加以下代码行:

退出 

没有这一行,即使没有错误,其余代码(错误代码)也将被执行!

3.遇到错误(不要忘记冒号)后,Excel VBA将从“ InvalidValue:”开头的行继续执行。添加以下代码行:

无效值:

4.现在,我们使错误代码保持简单。我们显示一个MsgBox,其中包含一些文本和发生错误的单元格的地址。

MsgBox“无法计算单元格和单元格地址的平方根”

5.添加以下行,以指示Excel VBA在执行错误代码后恢复执行。

继续 下一个

6.退出Visual Basic编辑器并测试程序。

结果:

错误返回结果

错误返回结果

错误返回结果