VBA 和 stackoverflow 的新手。
我想搜索工作表,如果有错误(#N/A 等),我想清除它们。如果没有错误,则什么也不做。
我用了:
Cells.SpecialCells(xlCellTypeFormulas,xlErrors).Clear
当出现错误时效果很好,但如果没有错误,我最终会进入调试模式。
有什么建议么?
谢谢!
VBA 和 stackoverflow 的新手。
我想搜索工作表,如果有错误(#N/A 等),我想清除它们。如果没有错误,则什么也不做。
我用了:
Cells.SpecialCells(xlCellTypeFormulas,xlErrors).Clear
当出现错误时效果很好,但如果没有错误,我最终会进入调试模式。
有什么建议么?
谢谢!
您将需要添加
On Error Resume Next
到包含您的 SpecialCells Clear() 的 VBA 方法。
这是必需的,因为当SpecialCells
无法满足 Method 条件时,就会发生错误!
除了可以解决您的问题的 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