Vba: как использовать 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

Допустим, у нас есть следующий набор данных на листе под названием «Лист2» в книге Excel, который содержит информацию о различных баскетболистах:

Теперь предположим, что мы переходим на лист под названием Лист1 и хотим найти название команды «Короли» в наборе данных Листа2 и вернуть соответствующее значение в столбце «Помощь» Листа1 .

Для этого мы можем создать следующий макрос:

 Sub Vlookup()
    Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Макрос правильно возвращает значение 3 передачи для королей.

Если мы изменим имя команды в ячейке A2 , а затем снова запустим макрос, он правильно найдет вспомогательное значение для нового имени команды.

Например, предположим, что мы меняем название команды на «Воины» и снова запускаем макрос:

Макрос корректно возвращает значение 4 передачи для «Уорриорз».

Примечание . Полную документацию по методу VBA VLookup можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как использовать сопоставление индексов
VBA: как отсортировать лист по нескольким столбцам
VBA: как проверить, содержит ли строка другую строку

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *