2

VBA 和 stackoverflow 的新手。

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

我用了:

Cells.SpecialCells(xlCellTypeFormulas,xlErrors).Clear

当出现错误时效果很好,但如果没有错误,我最终会进入调试模式。

有什么建议么?

谢谢!

4

2 回答 2

0

您将需要添加

 On Error Resume Next

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

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

于 2013-06-05T00:15:23.760 回答
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
于 2013-06-05T07:24:47.720 回答