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

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

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

问题是这几行代码减慢了我的程序。 很多。 我想知道是否有另一种方法来做到这一点,因为我需要删除这些值来执行另一个macros。

我已经试图缩短这个范围,而不是search最后使用的单元格。 然而,花了相同的时间,或者我没有注意到这个差别。

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

提前致谢!

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

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

请注意,如果有超过8'192个包含错误的区域,则会发生错误。 如果没有find错误单元格,它也会出错。 我会让你解决error handling。