Как использовать isna в vba (с примерами)
Вы можете использовать метод IsNA в VBA, чтобы проверить, содержит ли данная ячейка #N/A или нет.
Эта функция вернет TRUE, если ячейка содержит #N/A , или FALSE в противном случае.
Вот распространенный способ использования этого метода на практике:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
Этот конкретный макрос проверит, содержит ли каждая ячейка в диапазоне A2:A10 #N/A или нет.
Если ячейка содержит #N/A , то TRUE будет возвращено в соответствующей ячейке в диапазоне B2:B10 .
В противном случае будет возвращено ЛОЖЬ .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: как использовать IsNA в VBA
Предположим, у нас есть следующий столбец значений в Excel:
Предположим, мы хотим проверить, содержит ли каждая ячейка в столбце A #N/A или нет.
Для этого мы можем создать следующий макрос:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
В столбце B отображается результат, который сообщает нам, равна ли каждая совпадающая ячейка в столбце A #N/A .
Обратите внимание, что пустые ячейки — это не то же самое, что #N/A . При обнаружении пустой ячейки метод IsNA возвращает FALSE .
Также обратите внимание, что вы можете использовать оператор If для возврата значений, отличных от TRUE и FALSE .
Например, мы могли бы создать следующий макрос:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
If WorksheetFunction.IsNA(Range("A" & i)) Then
Range("B" & i) = "Cell Contains #N/A"
Else
Range("B" & i) = "Cell Does Not Contain #N/A"
End If
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Столбец B теперь содержит специальный текст, который сообщает нам, содержит ли соответствующая ячейка в столбце A #N/A .
Примечание . Полную документацию по методу VBA IsNA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
Как преобразовать строку в int в VBA
Как преобразовать строку в двойную в VBA
Как проверить, содержит ли строка другую строку в VBA