我有以下代码清除包含#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
提前致谢!
答案 0 :(得分:1)
如果您有合理数量的单元格包含错误,以下代码将清除所有错误值(不仅仅是#NUM!):
ActiveSheet.Range("Q3:BA2500").SpecialCells(xlCellTypeFormulas, xlErrors).ClearContents
请注意,如果超过8'192个不同区域包含错误,则会出错。如果没有找到错误单元格,它也会出错。我会让你解决错误处理问题。