Зміст
З точки зору пошуку або перегляду певних значень або елементів, MS Excel надає різні функції. ПЕРЕГЛЯД Вона допомагає нам шукати потрібні дані з будь-якого набору даних. Вона дозволяє нам вказати, чи потрібно шукати точний збіг або приблизний збіг. Поряд з використанням цієї функції у формулі 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 & " Оклад " & "$" & 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 vs VLOOKUP (9 прикладів)
- Використання СЦЕПИ з декількома критеріями в Excel (6 способів + альтернативи)
- ВТРАХУНОК Excel для пошуку останнього значення в стовпці (з альтернативами)
- ВЛОКЗАП Excel для повернення декількох значень по вертикалі
3. пошук інформації за допомогою поля введення з використанням VLOOKUP у VBA
Розглянемо, як можна здійснити пошук даних з допомогою поля вводу 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: У результаті буде виведено комбінований рядок з ідентифікатором та департаментом у першому стовпчику
Крок 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 OnПомилка GoTo Перевірка повідомлення: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("Оклад працівника становить $" & salary) Повідомлення: If Err.Number = 1004 Then MsgBox ("Дані працівника відсутні") End If End Sub
Пояснення коду
- По-перше, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value за допомогою цього коду ми зберігаємо в стовпчик A конкатенацію значень Ідентифікатора та Відділу.
- lookup_val = ID & "_" & відділу Це визначає, що значенням пошуку буде ідентифікатор та відділ.
- salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) тут ми зберігаємо зарплату знайденого співробітника в змінну з ім'ям заробітна плата
- If Err. Number = 1004 Then це перевірка умови. Ми перевіряємо, чи дорівнює номер помилки 1004 чи ні. В Excel VBA код 1004 означає, що шукане значення не знайдено, видалено або вилучено.
Крок 5: Тепер з'явиться спливаюче вікно, як на цьому малюнку. Введіть ПОСВІДЧЕННЯ ОСОБИ і Департамент послідовно
Крок 6: Після натискання кнопки Гаразд. буде показано кінцевий результат
Крок 7: Якщо ви ввели невірні дані ПОСВІДЧЕННЯ ОСОБИ або Департамент, на екрані з'явиться наступне повідомлення
Читати далі: Як створити СРЗНАЧЕННЯ з кількома умовами в 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 можна контролювати за допомогою гото якщо він повертає помилку. |
Висновок
Ось деякі способи використання ПЕРЕГЛЯД Я показав всі методи з відповідними прикладами, але ітерацій може бути багато. Я також обговорив основи використовуваних функцій. Якщо у вас є інший метод досягнення цього, то, будь ласка, не соромтеся поділитися з нами.