Vba: як використовувати vlookup з іншого аркуша
Ви можете використовувати такий базовий синтаксис, щоб виконати VLOOKUP з іншого аркуша за допомогою VBA:
Sub Vlookup()
Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub
У цьому конкретному прикладі виконується пошук значення в клітинці A2 поточного аркуша в діапазоні A2:C11 аркуша під назвою Sheet2 і знаходить відповідне значення в третьому стовпці діапазону, а потім призначає результат клітинці B2 поточного аркуша.
Примітка . Останній аргумент False вказує на те, що нам потрібна точна відповідність.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як використовувати VLOOKUP з іншого аркуша у VBA
Скажімо, ми маємо такий набір даних на аркуші під назвою Sheet2 у книзі Excel, який містить інформацію про різних баскетболістів:
Тепер припустімо, що ми переходимо до аркуша під назвою Sheet1 і хочемо знайти назву команди «Kings» у наборі даних Sheet2 і повернути відповідне значення в стовпці Assists Sheet1 .
Для цього ми можемо створити такий макрос:
Sub Vlookup()
Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Макрос правильно повертає значення 3 передачі для Королів.
Якщо ми змінимо назву команди в клітинці A2 , а потім знову запустимо макрос, він правильно знайде допоміжне значення для нової назви команди.
Наприклад, скажімо, ми змінимо назву команди на «Warriors» і знову запустимо макрос:
Макрос правильно повертає значення 4 передачі для Воїнів.
Примітка . Ви можете знайти повну документацію для методу VBA VLookup тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як використовувати зіставлення індексів
VBA: Як сортувати аркуш за кількома стовпцями
VBA: як перевірити, чи містить рядок інший рядок