清除包含#NUM的单元格!在VBA Excel中

时间:2017-10-17 18:15:38

标签: excel vba excel-vba

我有以下代码清除包含#NUM的单元格!

Dim CLR As Range
 For Each CLR In ActiveSheet.UsedRange
       If CLR.Text = "#NUM!" Then
CLR.ClearContents
       End If
 Next

问题是这几行代码会减慢我的程序速度。很多。我想知道是否还有另一种方法,因为我需要删除这些值才能执行另一个宏。

我已经尝试将其缩短到较小的范围,而不是搜索最后使用的单元格。但是,它花了相同的时间,或者我没有注意到差异。

Dim CLR As Range
     For Each CLR In ActiveSheet.Range("Q3:BA2500")
           If CLR.Text = "#NUM!" Then
    CLR.ClearContents
           End If
     Next

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您有合理数量的单元格包含错误,以下代码将清除所有错误值(不仅仅是#NUM!):

ActiveSheet.Range("Q3:BA2500").SpecialCells(xlCellTypeFormulas, xlErrors).ClearContents

请注意,如果超过8'192个不同区域包含错误,则会出错。如果没有找到错误单元格,它也会出错。我会让你解决错误处理问题。