Оглавление
Для поиска или просмотра определенных значений или элементов MS Excel предоставляет различные функции. VLOOKUP Это одна из них. Она помогает нам искать нужные данные в любом наборе данных. Она позволяет нам указать, искать ли точное или приблизительное совпадение. Наряду с использованием этой функции в формуле Excel, мы можем использовать ее и в коде VBA. В этой статье мы посмотрим, как мы можем использовать эту функцию Функция VLOOKUP в VBA.
Скачать рабочую тетрадь по практике
VLOOKUP в VBA.xlsm4 способа использования VLOOKUP в VBA
1. Поиск данных вручную с помощью VLOOKUP в VBA
Теперь наша задача - найти информацию о сотруднике по его идентификатору вручную. В этом разделе мы просто узнаем зарплату сотрудника по его идентификатору.
Шаг 1: Выберите Visual Basic по адресу Разработчик вкладка (ярлык Alt + F11 )
Шаг 2: Тогда появится окно. Выберите Модуль вариант под Вставка кнопка
Шаг 3: Теперь напишите следующий код в консоли VBA и нажмите кнопку Запускайте кнопка (ярлык F5 )
Код:
Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID:" & Employee_id & " Salary " & "$" & salary End Sub
Шаг 4: Теперь появится всплывающее сообщение, в котором будет показана информация
Читать далее: VLOOKUP для поиска текста в Excel (4 простых способа)
2. Поиск данных с вводом с помощью VLOOKUP в VBA
Теперь давайте посмотрим, как мы можем искать или извлекать данные из таблиц или диапазонов с помощью ввода. Как показано на рисунке, мы узнаем имя введенного идентификатора из таблицы информации о сотруднике.
Шаг 1: Сначала откройте консоль VBA, выполнив аналогичные действия из Шага 1 в Шаг 2
Шаг 2: Теперь введите следующий код в окне VBA
Код:
Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub
Шаг 3: Теперь введите любой идентификатор в ячейку D13 и запустить код
Шаг 4: Сайт Имя который сохраняется в соответствии с идентификатором, будет показан
Читать далее: 10 лучших практик использования VLOOKUP в Excel
Похожие чтения
- VLOOKUP не работает (8 причин и решений)
- Функция INDEX MATCH в сравнении с функцией VLOOKUP (9 примеров)
- Использование VLOOKUP с несколькими критериями в Excel (6 методов + альтернативы)
- Excel VLOOKUP для поиска последнего значения в столбце (с альтернативами)
- Excel VLOOKUP для возврата нескольких значений по вертикали
3. Поиск информации в поле ввода с помощью VLOOKUP в VBA
Давайте посмотрим, как мы можем искать данные с помощью поля ввода VBA. Для поиска нам нужно использовать команду VLOOKUP Функция в коде VBA. Опять же, набор данных будет тот же, но подход к поиску будет другой. Здесь наша задача - узнать зарплату сотрудника, введя его ID и отдел.
Шаг 1: Сначала откройте окно VBA, выполнив аналогичные шаги с Шага 1 по Шаг 2
Шаг 2: Теперь введите следующий код в консоли VBA и Запускайте это
Код:
Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i End Sub
Шаг 3: Это выведет комбинированную строку с ID и Department в первом столбце
Шаг 4: Теперь снова перейдите в консоль VBA, введите полный код и запустите снова
Код:
Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Введите ID сотрудника") department = InputBox("Введите отдел сотрудника") lookup_val = ID & "_" & department OnError GoTo Message check: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("Зарплата сотрудника составляет $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Данные сотрудника отсутствуют") End If End Sub
Объяснение кода
- Во-первых, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Используя этот код, мы сохраняем скомпонованные значения ID и Department в столбце A.
- lookup_val = ID & "_" & department это определяет, что значением поиска будет ID и отдел.
- зарплата = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) здесь мы сохраняем зарплату соответствующего сотрудника в переменную с именем зарплата
- If Err. Number = 1004 Then Это проверка условия. Мы проверяем, является ли номер ошибки 1004 или нет. В Excel VBA код 1004 означает, что искомое значение не найдено, удалено или удалено.
Шаг 5: Появится всплывающее окно, как на этом рисунке. Enter ID и Департамент последовательно
Шаг 6: После нажатия кнопки Хорошо кнопка будет показан окончательный результат
Шаг 7: Если вы введете неправильный ID или Департамент, появится следующее сообщение
Читать далее: Как использовать VLOOKUP с несколькими условиями в Excel (2 метода)
4. Поиск информации с помощью кнопки с использованием VLOOKUP в VBA
Теперь мы посмотрим, как можно узнать информацию с помощью кнопки вместо того, чтобы выполнять код вручную. Опять же, набор данных будет таким же, как и выше.
Шаг 1: Сначала выберите Вставка вариант в соответствии с Разработчик вкладка
Шаг 2: Затем выберите Кнопка опция из Вставка
Шаг 3: Разместите кнопку в соответствии с вашими требованиями и дайте ей имя
Шаг 4: Теперь щелкните правой кнопкой мыши на кнопке и выберите Назначить макрос
Шаг 5: Теперь создайте новый макрос и назовите его vlookup_function_4
Шаг 6: Напишите приведенный ниже код в консоли VBA и Запускайте код
Код:
Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub
Шаг 6: Теперь введите любой идентификатор и нажмите кнопку
Читать далее: Использование VBA VLOOKUP для поиска значений из другого рабочего листа в Excel
О чем следует помнить
Распространенные ошибки | Когда они показывают |
---|---|
1004 ошибка | Когда код VBA vlookup не может найти значение lookup_value, он выдает ошибку 1004. |
Функция VLOOKUP не найдена в VBA | Функцию Vlookup можно вызвать в Excel VBA с помощью WorksheetFunction. |
Обработка ошибок | Ошибку в функции vlookup можно контролировать с помощью параметра перейти на оператор, если он возвращает ошибку. |
Заключение
Вот некоторые способы использования VLOOKUP Я показал все методы с соответствующими примерами, но может быть и много других итераций. Я также обсудил основы используемых функций. Если у вас есть другой метод достижения этой цели, то, пожалуйста, не стесняйтесь поделиться им с нами.