是否有一种简单的方法来枚举某个范围内的错误?
我尝试使用以下代码,但它不起作用
Dim err As Object
For Each err In Plan10.Range("M2:AB8000").Errors
Debug.Print err.Value
Next err
我从文档中知道,我不能简单地使用range.errors
枚举错误。
我解决了扫描范围内每个单元格中的每个错误的问题,但这很痛苦
有没有更好的方法来完成这项工作?
答案 0 :(得分:4)
您可以使用SpecialCells
检索包含/评估为错误的单元格
如果搜索范围中没有错误单元格,错误处理可以避免VBA
错误
然后,您可以根据需要处理错误范围(如果存在于rng1
和rng2
中)
Sub GetErrors()
Dim rng1 As Range
Dim rng2 As Range
On Error Resume Next
Set rng1 = Sheets(1).Range("M2:AB8000").SpecialCells(xlConstants, xlErrors)
Set rng2 = Sheets(1).Range("M2:AB8000").SpecialCells(xlFormulas, xlErrors)
On Error GoTo 0
If Not rng1 Is Nothing Then MsgBox "Constant errors at " & rng1.Address
If Not rng2 Is Nothing Then MsgBox "Formulae errors at " & rng2.Address
End Sub