避免excel工作表函数在VBA中产生运行时错误

网友投稿 669 2022-12-03

避免Excel工作表函数在VBA中产生运行时错误

大家知道大多数的Excel工作表函数可以用在VBA中,通过下面的方法来调用,例如对A1:A10单元格求和:

Sub Sum1()MsgBox WorksheetFunction.Sum(Sheet1.Range("A1:A10"))End Sub

或:Sub Sum2()MsgBox Application.Sum(Sheet1.Range("A1:A10"))End Sub

但是如果在单元格中包含错误,例如上例中的A1:A10区域包含一个“#DIV/0!”错误,运行上述代码后将产生运行时错误。例如出现类似下图的提示:

为避免出现这样的错误,我们可以将单元格中的错误用数值“0”取代。用下面的代码:

避免excel工作表函数在VBA中产生运行时错误

Sub ReplaceErrors()On Error Resume NextWith Sheet1.Range("A1:A10").SpecialCells(xlCellTypeFormulas, xlErrors) = 0MsgBox WorksheetFunction.Sum(.Cells)End WithOn Error GoTo 0End Sub

或者先进行一个错误检查,并给出提示:

Sub CheckForErrors()Dim rErrCheck As RangeOn Error Resume NextWith Sheet1.Range("A1:A10")Set rErrCheck = .SpecialCells(xlCellTypeFormulas, xlErrors)If Not rErrCheck Is Nothing ThenMsgBox "指定的单元格中包含错误!"Application.Goto .SpecialCells(xlCellTypeFormulas, xlErrors)ElseMsgBox WorksheetFunction.Sum(.Cells)End IfEnd WithOn Error GoTo 0End Sub

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在Excel中用快捷键输入“HH:MM:SS”格式的当前时间
下一篇:excel数据分析软件(excel数据分析软件工具有哪些)
相关文章