IsNa子或函数没有定义

我知道这很愚蠢,但是我经过一个小时的search仍然找不到答案。

我试图确定一个值(Customername)是否是NA; 我已经尝试了以下两种方法

Customername = Worksheets("Request").Range("E5") If IsNA(Customername.value) = True Then CustomerN = 1 CustomerN = Ifna(Customername,1) 

两行都会返回错误,指出“未定义函数的子集”。 令人沮丧的是它承认function,因为它改变了大小写,但它仍然打破。 我已经尝试调暗客户名称作为不同的types,但似乎并不重要。

如果你能解释我的思维过程中的错误,我会很感激。

除非您需要特别检查#N #N/A错误,否则您可以使用本地可用的ISERRORfunction。 需要注意的是, ISERROR将检查是否错误,而不仅仅是ISERROR #N/A

(如果你需要特别检查#N #N/A ,Pavel_V的答案是现货。)

从链接:

 Syntax ISERROR(value) Function Returns TRUE if ISERROR Value refers to any error value (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL!). 

你可以像这样使用它:

 If IsError(Customer.Value) Then 

TechOnNet的更多信息。

这是一个工作表函数,所以你必须通过添加Application.worksheetfunction来解释这个问题 – 像这样:

 Application.WorksheetFunction.IsNA(Customername.value)