Як використовувати 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 з іншого аркуша

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *