Як використовувати 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 , тоді у відповідній клітинці в діапазоні B2:B10 буде повернено TRUE .
В іншому випадку буде повернено FALSE .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як використовувати 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