2016-04-05 2 views
1

Я знаю, что это глупо, но я все еще не могу найти ответ после часа поиска.IsNa Sub или функция не определена

Я пытаюсь определить, является ли значение (пользовательское имя) NA; Я пробовал следующие 2 метода:

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

Обе строки возвращают ошибки с указанием «Подфункция не определена». Что расстраивает, он распознает функции, потому что он меняет капитализацию, но все еще ломается. Я пробовал dimming CustomerName как разные типы, но, похоже, не имеет значения.

Если бы вы могли объяснить ошибку в моем процессе рассмотрения, я был бы признателен.

ответ

0

Если ваша потребность не проверить специально для ошибки #N/A, вы можете использовать изначально доступный ISERROR функция. Опасность состоит в том, что ISERROR проверит на любую ошибку, а не только #N/A.

(Если вам нужно проверить специально для #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.

2

Это функция рабочего листа, так что вы должны объяснить это УВУ, добавив Application.worksheetfunction - как это:

Application.WorksheetFunction.IsNA(Customername.value) 
Смежные вопросы