如何捕捉#REF! 在Excel中?

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

我可以用下面的代码在vba中捕获错误:

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

我想在Excel公式栏中编写相同的function。 任何想法如何做到这一点?

谢谢。

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

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

请注意 ,单元格只会返回计算公式时遇到的第一个错误,所以如果一个单元格有一个#Name?#Ref!之前发生的#Ref! 错误,没有办法陷阱#Ref! 错误。

也许是这样的:

=AND(ISREF(A1),ISERR(A1))

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

我修改使用IsErr而不是IsError来忽略N/Atypes的错误。

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

但是,这也会捕获所有其他错误。

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

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