Функція пошуку VBA Excel

Крім того, ми багато разів використовували VLookup. Саме там функція Insert використовується для отримання або відображення будь-якого типу значень, які ми хочемо. Аналогічно, у VBA у нас є програма Lookup, яка працює так само, як Excel Vlookup. Пошук VBA має гнучку структуру даних, оскільки його можна використовувати для відображення будь-якого значення з будь-якого типу табличного масиву. Це означає, що якщо ми застосуємо Excel Vlookup, ми не зможемо зіставити дані правого стовпця з даними лівого стовпця в одному синтаксисі. Тоді як у пошуку VBA немає належної структури відображення. Нам просто потрібно слідувати синтаксису пошуку VBA. Якщо синтаксис задоволений і правильно обрамлений, ми можемо отримати значення з правої або лівої частини таблиці.

Синтаксис функції пошуку VBA:

Де,

  • Arg1 = Значення, яке ми хочемо шукати.
  • Arg2 = Діапазон стовпців або таблиці, звідки ми хочемо шукати.
  • Arg3 = Результат як булева чи векторна.

Як використовувати функцію пошуку в Excel VBA?

Ми дізнаємось, як використовувати функцію пошуку в Excel за допомогою коду VBA.

Ви можете завантажити цей шаблон Excel Lookup Excel тут - Шаблон VBA Lookup Excel

Пошук VBA - приклад №1

Існує багато способів написання коду пошуку VBA. У цьому прикладі ми побачимо простий спосіб написання пошуку VBA. Для цього у нас є набір даних, як показано нижче. Ця таблиця містить кількість перегонів і середню швидкість гонщиків. Тепер ми будемо використовувати ці дані, щоб застосувати пошук VBA у таблиці нижче із синіми заголовками від A8 до B8. Для цього виконайте наступні кроки:

Крок 1: Відкрийте модуль на вкладці меню Вставка, як показано нижче.

Крок 2: Напишіть підпроцедуру для виконаних робіт у цей модуль. Тут ми вибрали ім'я як VBA Lookup.

Код:

 Sub VBA_Lookup1 () Кінець Sub 

Крок 3: Виберіть вихідну комірку, де нам потрібно побачити значення пошуку. Тут ця клітинка - B9, де ми будемо шукати зі значенням, що стосується імені "Aniket", яке є нашим значенням пошуку.

Код:

 Sub VBA_Lookup1 () Діапазон ("B9"). Значення Кінець Sub 

Крок 4: Тепер ми будемо використовувати функцію робочого листа і виберемо функцію пошуку, вбудовану в список, як показано нижче.

Код:

 Sub VBA_Lookup1 () Діапазон ("B9"). Значення = WorksheetFunction.Lookup End Sub 

Крок 5: Після вибору функції пошуку, ми побачимо Arg1, Arg2 та Arg3 в його синтаксисі. Для цього ми спочатку поставимо наш діапазон значень Lookup, який є клітиною A9 замість Arg1.

Код:

 Sub VBA_Lookup1 () Діапазон ("B9"). Значення = WorksheetFunction.Lookup (Діапазон ("A9"). Значення, Кінець Sub 

Крок 6: Тепер для Arg2 виберіть діапазон пошуку, який знаходиться в комірці A2: A5.

Код:

 Sub VBA_Lookup1 () Діапазон ("B9"). Значення = WorksheetFunction.Lookup (Діапазон ("A9"). Значення, Діапазон ("A2: A5"), Кінець Sub 

Крок 7: Нарешті, виберіть діапазон значень пошуку, який становить від B2 до B5 замість Arg3.

Код:

 Sub VBA_Lookup1 () Діапазон ("B9"). Значення = WorksheetFunction.Lookup (Діапазон ("A9"). Значення, Діапазон ("A2: A5"), Діапазон ("B2: B5")) Кінець Sub 

Крок 8: Запустіть код натисканням клавіші F5 або натисканням кнопки відтворення, розташованої під стрічкою меню. Ми побачимо, згідно з Lookup, кількість перегонів, проведених назвою "Aniket", становить 7.

Пошук VBA - приклад №2

Є ще один спосіб застосувати функцію пошуку в Excel VBA. Для цього ми будемо використовувати ті самі дані, що ми бачили в прикладі-1. Для цього виконайте наступні кроки:

Крок 1: Напишіть підпроцедуру для пошуку VBA, як показано нижче.

Код:

 Sub VBA_Lookup2 () Кінець Sub 

Крок 2: Визначте змінну як String, яка буде використана для відображення стовпця Ім'я.

Код:

 Sub VBA_Lookup2 () Dim ім'я як рядок Кінець Sub 

Крок 3: У визначеній змінній Ім'я ми застосуємо додаток Vlookup, як показано нижче.

Код:

 Sub VBA_Lookup2 () Dim ім'я як ім'я рядка = Application.VLookup (End Sub 

Крок 4: Скажімо, наше значення пошуку з назви "Ashwani" з таблиці.

Код:

 Sub VBA_Lookup2 () Dim ім'я як ім'я рядка = Application.VLookup ("Ashwani", End Sub 

Крок 5: І діапазон від A1 до C6 від Sheet1.

Код:

 Під VBA_Lookup2 () ім'я диму як ім'я рядка = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), End Sub 

Крок 6: Тепер, якщо ми хочемо побачити тут середню швидкість наїзника "Ашвані", нам потрібно скласти карту в синтаксисі "Пошук", який знаходиться на 3 -му місці.

Код:

 Під VBA_Lookup2 () ім'я диму як ім'я рядка = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Кінець Sub 

Крок 7: Тепер, щоб побачити середню швидкість наїзника «Ашвані», ми можемо використовувати MsgBox та Debug Print і те, і інше. Але використання Debug Print набагато краще, ніж MsgBox. Тож призначте налагодження друку з визначеною змінною Name.

Код:

 Sub VBA_Lookup2 () Dim ім'я як ім'я рядка = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Крок 8: Тепер відкрийте негайне вікно, яке знаходиться на вкладці меню « Вид », щоб побачити вихід.

Крок 9: Складіть код і запустіть його. Ми побачимо, що Lookup зіставив зі швидкістю Ашвані та потрапив у Негайне вікно як 86 .

Код:

 Sub VBA_Lookup2 () Dim ім'я як ім'я рядка = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Пошук VBA - приклад №3

Для використання функції пошуку в excel VBA виконайте наступні кроки:

Крок 1: Напишіть підпроцедуру для пошуку VBA, як показано нижче.

Код:

 Sub VBA_Lookup3 () Кінець Sub 

Крок 2: Оголосіть змінну для імені як рядка, як показано нижче.

Код:

 Sub VBA_Lookup3 () Dim Dim Ім'я як String End Sub 

Крок 3: Тепер призначте ім'я, яке хоче знайти, визначеній змінній Ім'я, як показано нижче.

Код:

 Sub VBA_Lookup3 () Dim ім'я як ім'я рядка = "Deepinder" Кінець Sub 

Крок 4: Тепер використовуйте будь-яке слово, щоб визначити, а Lookup дозволяє сказати LUp . І в цьому використовуйте функцію робочого листа з Vlookup, як показано нижче.

Код:

 Sub VBA_Lookup3 () Dim ім'я як ім'я рядка = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "Середня швидкість:" & LUp End Sub 

Крок 5: Тепер використовуйте той самий синтаксис Vlookup, який ми використовуємо в Excel. В Arg1 помістіть змінну Name, потім виберіть матрицю діапазону і шукайте значення, яке ми хочемо отримати. Тут цей стовпець 3, як показано нижче.

Код:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Ім'я, Sheet1.Range ("A2: C6"), 3, помилково) MsgBox "Середня швидкість:" & LUp End Sub 

Крок 6: Тепер використовуйте MsgBox, щоб побачити вихід.

Код:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Ім'я, Sheet1.Range ("A2: C6"), 3, помилково) MsgBox "Середня швидкість:" & LUp End Sub 

Крок 7: Складіть і запустіть код. Ми побачимо, що для назви «Deepinder» середня швидкість дорівнює 88. В той час як у таблиці вказане те саме значення для імені Deepinder.

Код:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Ім'я, Sheet1.Range ("A2: C6"), 3, помилково) MsgBox "Середня швидкість:" & LUp End Sub 

Плюси функції пошуку Excel VBA

  • Це настільки ж просто у використанні та реалізації, як застосування регулярних формул Excel Vlookup у Excel.
  • Ми можемо використовувати будь-який діапазон і матрицю в пошуку VBA.
  • При застосуванні пошуку VBA дуже мало обмежень або їх немає.

Що потрібно пам’ятати

  • Ми можемо використовувати Lookup замість Vlookup у будь-якій ситуації.
  • Діапазон для вектора пошуку та вектора результату повинен бути однаковим.
  • Після закінчення програми збережіть файл у форматі Macro Enable, щоб зберегти код.
  • Немає обов'язкової вимоги щоразу ставити стовпець результату праворуч від значення пошуку.

Рекомендовані статті

Це посібник щодо функції пошуку VBA. Тут ми обговорюємо, як використовувати функцію пошуку в Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Колекція VBA (приклади)
  2. Виписки VBA IF | Шаблони Excel
  3. Як використовувати функцію сортування Excel VBA?
  4. VBA while цикл (приклади з шаблоном Excel)
  5. VBA Environment

Категорія: