Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测Excel工作表上的错误_Excel_Vba - Fatal编程技术网

检测Excel工作表上的错误

检测Excel工作表上的错误,excel,vba,Excel,Vba,是否有一种简单的方法来列举某个范围内的错误 我尝试使用以下代码,但它不起作用 Dim err As Object For Each err In Plan10.Range("M2:AB8000").Errors Debug.Print err.Value Next err 从文档中我知道,我不能简单地使用范围.errors枚举错误。 我解决了扫描范围内每个单元格中的每个错误的问题,但速度非常慢 有没有更好的方法来完成这项工作?您可以使用特殊单元格来检索包含/评估错误的单元格 如果搜索

是否有一种简单的方法来列举某个范围内的错误

我尝试使用以下代码,但它不起作用

Dim err As Object

For Each err In Plan10.Range("M2:AB8000").Errors
    Debug.Print err.Value
Next err
从文档中我知道,我不能简单地使用
范围.errors
枚举错误。 我解决了扫描范围内每个单元格中的每个错误的问题,但速度非常慢


有没有更好的方法来完成这项工作?

您可以使用
特殊单元格
来检索包含/评估错误的单元格

如果搜索范围内没有错误单元格,则错误处理可避免出现
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

您可以使用
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

我不知道这是否有帮助,但我希望没有错误或错误数量很少。您可以尝试将错误对象放入集合中吗?这样行吗?我不知道这是否有帮助,但我希望没有错误或错误数量很少。您可以尝试将错误对象放入集合中吗?这样行吗?