Як використовувати xlookup у vba (з прикладами)
Ви можете використовувати такий базовий синтаксис для виконання XLOOKUP за допомогою VBA:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
У цьому конкретному прикладі шукається значення в клітинці E2 в діапазоні A2:A11 і знаходить відповідне значення в діапазоні C2:C11 , а потім призначається результат клітинці F2 .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як використовувати XLOOKUP у VBA
Припустімо, у нас є такий набір даних у Excel, який містить інформацію про різних баскетболістів:
Припустімо, ми хочемо знайти в наборі даних назву команди «Королі» та повернути відповідне значення в стовпці передач.
Для цього ми можемо створити такий макрос:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Макрос правильно повертає значення 3 передачі для Королів.
Якщо ми змінимо назву команди в клітинці E2 , а потім знову запустимо макрос, він правильно знайде допоміжне значення для нової назви команди.
Наприклад, скажімо, ми змінимо назву команди на «Warriors» і знову запустимо макрос:
Макрос правильно повертає значення 4 передачі для Воїнів.
Зауважте, що ви також можете додати необов’язковий четвертий аргумент до функції Xlookup , щоб указати значення, яке має відображатися, якщо відповідності не знайдено.
Наприклад, ви можете використати наступний макрос, щоб запустити функцію XLOOKUP і повернути «Немає», якщо відповідності не знайдено:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "), "None")
End Sub
Не соромтеся замінити «Немає» будь-яким значенням, яке ви хочете відобразити.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як використовувати зіставлення індексів
VBA: як використовувати VLOOKUP
VBA: як використовувати VLOOKUP з іншого аркуша