Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Метод WorksheetFunction.VLookup

    Метод WorksheetFunction.VLookup — аналог функции ВПР в VBA Excel — поиск значения в таблице (диапазоне, массиве) по значению в первом столбце.

    Метод WorksheetFunction.VLookup

    WorksheetFunction.VLookup – это метод VBA Excel, который ищет значение в крайнем левом столбце таблицы (диапазона, двумерного массива) и возвращает значение ячейки (элемента массива), находящейся в указанном столбце той же строки. Метод WorksheetFunction.VLookup — аналог функции рабочего листа ВПР (вертикальный просмотр).

    Синтаксис

    Синтаксис метода WorksheetFunction.VLookup в VBA Excel:

    Параметры

    Описание параметров метода WorksheetFunction.VLookup:

    Параметр Описание
    Arg1 (Lookup_value) Обязательный параметр. Значение, которое необходимо найти в первом столбце таблицы.
    Arg2 (Table_array) Обязательный параметр. Таблица с двумя или более столбцами данных. Используется ссылка на диапазон, имя диапазона или массив.
    Arg3 (Col_index_num) Обязательный параметр. Номер столбца, значение из которого возвращается.
    Arg4 (Range_lookup) Необязательный параметр. Логическое значение, указывающее, должен ли метод VLookup искать точное совпадение или приблизительное.

    Значения параметра Arg4 (Range_lookup), задающие точность сопоставления:

    Значение Точность сопоставления
    True Значение по умолчанию. Метод WorksheetFunction.VLookup находит точное или приблизительное совпадение Arg1 со значением в первом столбце. Если точное совпадение не найдено, используется самое большое значение, меньшее Arg1. Значения в первом столбце таблицы должны быть отсортированы по возрастанию.
    False Метод WorksheetFunction.VLookup находит только точное совпадение. Сортировка значений первого столбца таблицы не требуется. Если точное совпадение не найдено, генерируется ошибка.
    Если значение параметра Arg1 является текстом, а Arg4=False, тогда в строке Arg1 можно использовать знаки подстановки (спецсимволы): знак вопроса (?) и звездочку (*). Знак вопроса заменяет один любой символ, а звездочка соответствует любой последовательности символов. Чтобы знак вопроса (?) и звездочка (*) обозначали сами себя, перед ними указывается тильда (~).

    Примеры

    Примеры обкатывались на следующей таблице:

    Поиск значения в таблице

    Результат работы кода:

    Поиск значения в массиве

    Результат работы кода:

    Да, здесь можно немного улучшить структуру кода, применив оператор With...End With:


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    2 комментария для “VBA Excel. Метод WorksheetFunction.VLookup”

    1. Здравствуйте, почему-то нигде не сказано, что если в качестве Arg1 использовать цифры, то метод работать не будет. Возникает куча ошибок и приходится формулами изменять данные на число-как-текст иначе ничего не выходит.

      1. Евгений

        Здравствуйте, Денис!
        Во всех примерах этой статьи в качестве Arg1 используются цифры — метод работает.

    Обсуждение закрыто.