如何捕获#REF!在Excel?

时间:2013-04-19 13:33:57

标签: excel excel-formula

我想知道如何在Excel中捕获#REF!错误。

我可以使用以下代码在中捕获错误:

    If WorksheetFunction.IsError(ActiveCell) Then
         If ActiveCell.Value = CVErr(xlErrRef) Then
              ActiveCell.Value = "Error"
         End If
   End If

我想在Excel Formula Bar中编写相同的函数。任何想法怎么做?

感谢。

4 个答案:

答案 0 :(得分:3)

您可以在公式栏中使用ISERROR并检查是否为true

这只能识别isref错误 = IFERROR(IF(ERROR.TYPE(A1)= 4,“Ref Error”,A1),“All GOOD”)

答案 1 :(得分:2)

注意,单元格只返回在评估公式时遇到的第一个错误,因此如果单元格在{{}之前发生#Name?错误{1}}错误,无法捕获潜在的#Ref!错误。

可能是这样的:

#Ref!

首先测试单元格是否包含REFERENCE,然后检查它是否也包含错误。

我修改为使用=AND(ISREF(A1),ISERR(A1))代替IsErr来忽略IsError类型错误。

答案 2 :(得分:1)

您可以使用公式IF(ISERROR(ActiveCell),"Error")

然而,这也将捕获所有其他错误。

答案 3 :(得分:1)

=IF(ISERROR(A1),ERROR.TYPE(#REF!)=ERROR.TYPE(A1),FALSE)

在#ref上返回true,在所有其他错误上返回false或没有错误。