如果范围包含错误,则清除错误VBA

时间:2013-06-05 00:09:39

标签: vba

VBA和stackoverflow新手。

我想搜索工作表,如果有错误(#N / A等),我想清除它们。如果没有错误什么都不做。

我用过:

Cells.SpecialCells(xlCellTypeFormulas,xlErrors).Clear

当出现错误时工作正常,但如果没有错误,我最终会进入调试模式。

有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要添加

 On Error Resume Next

到包含SpecialCells Clear()的VBA方法。

这是必需的,因为当无法满足SpecialCells方法条件时,会发生错误!

答案 1 :(得分:0)

除了可以解决你的问题的Mitch回答之外,最好定义一个范围变量并测试它是否一无所有然后清除它。见下面的代码。

Sub sample()

    On Error Resume Next

    Dim rng As Range
    Set rng = Cells.SpecialCells(xlCellTypeFormulas, xlErrors)

    If Not rng Is Nothing Then
        rng.Clear
    End If

End Sub