Як використовувати ifna у vba (з прикладом)
Ви можете використовувати метод IfNa у VBA, щоб повернути певне значення, якщо формула генерує помилку #N/A .
Ось поширений спосіб використання IfNa на практиці:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
Цей конкретний макрос намагається використати функцію VLOOKUP, щоб знайти значення в клітинці E2 у діапазоні A2:C11 .
Якщо значення в комірці E2 не знайдено, формула видасть #N/A .
Однак ми можемо використовувати метод IfNa , щоб повернути «Значення не знайдено» замість #N/A .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як використовувати IfNa у VBA
Припустімо, у нас є такий набір даних у Excel, який містить інформацію про різних баскетболістів:
Припустімо, ми хочемо знайти в наборі даних назву команди «Королі» та повернути відповідне значення в стовпці передач.
Для цього ми можемо створити такий макрос:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Макрос правильно повертає значення 3 передачі для Королів.
Тепер припустімо, що ми змінимо назву команди в клітинці E2 на «Grizzlies», якої немає в наборі даних.
Коли ми знову запустимо цей макрос, він поверне «Значення не знайдено», оскільки це значення, яке ми вказали, має повертатися, якщо функція VLOOKUP призводить до помилки #N/A.
Макрос повертає «Значення не знайдено», оскільки «Грізлі» не існує в стовпці команди.
Примітка . Ви можете знайти повну документацію методу VBA IfNa тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як використовувати зіставлення індексів
VBA: Як сортувати аркуш за кількома стовпцями
VBA: як перевірити, чи містить рядок інший рядок