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

办公教程导读

收集整理了【避免excel工作表函数在VBA中产生运行时错误】办公软件教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含844字,纯文字阅读大概需要2分钟

办公教程内容图文

大家知道大多数的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”取代。用下面的代码:

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

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

Sub CheckForErrors()
Dim rErrCheck As Range
On Error Resume Next
With Sheet1.Range("A1:A10")
Set rErrCheck = .SpecialCells(xlCellTypeFormulas, xlErrors)
If Not rErrCheck Is Nothing Then
MsgBox "指定的单元格中包含错误!"
Application.Goto .SpecialCells(xlCellTypeFormulas, xlErrors)
Else
MsgBox WorksheetFunction.Sum(.Cells)
End If
End With
On Error GoTo 0
End Sub

办公教程总结

以上是为您收集整理的【避免excel工作表函数在VBA中产生运行时错误】办公软件教程的全部内容,希望文章能够帮你了解办公软件教程避免excel工作表函数在VBA中产生运行时错误
如果觉得办公软件教程内容还不错,欢迎将网站推荐给好友。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 避免excel工作表函数在VBA中产生运行时错误