Функция за търсене на Excel VBA

В отличие ние сме използвали VLookup много пъти. Тя е там във функцията Insert, която се използва за извличане или картографиране на всякакъв вид ценности, които искаме. По подобен начин във VBA имаме приложение Lookup, което работи също като Excel Vlookup. VBA Lookup има гъвкава структура на данни, тъй като може да се използва за картографиране на всякакъв вид стойност от всякакъв вид масив от таблици. Това означава, че ако приложим Excel Vlookup, тогава няма да можем да картографираме данните на дясната колона с данните от лявата колона в един синтаксис. Докато в VBA Lookup няма правилна структура на картографиране. Просто трябва да следваме синтаксиса на VBA Lookup. Ако синтаксисът е удовлетворен и правилно рамкиран, тогава можем да извлечем стойностите от дясната или от лявата страна на таблицата.

Синтаксис на VBA функция за търсене:

Където,

  • Arg1 = Стойност, която искаме да търсим.
  • Arg2 = Обхват на колоните или таблицата, откъдето искаме да търсим.
  • Arg3 = Резултат като булева или векторна.

Как да използвате функцията за търсене в Excel VBA?

Ще научим как да използваме функцията Lookup в Excel, като използваме кода VBA.

Можете да изтеглите този шаблон на VBA Lookup Excel тук - VBA Lookup Excel шаблон

Търсене в VBA - Пример №1

Има много начини да напишете кода за търсене на VBA. В този пример ще видим прост начин да напишете VBA Lookup. За това имаме набор от данни, както е показано по-долу. Тази таблица има броя на състезанията и средната скорост на състезателите. Сега ще използваме тези данни, за да приложим VBA Lookup в таблицата по-долу със сините заглавки в A8 до B8. За това следвайте стъпките по-долу:

Стъпка 1: Отворете модул от раздела на менюто Вмъкване, както е показано по-долу.

Стъпка 2: Напишете подпроцедурата за извършена работа в този модул. Тук сме избрали името като VBA Lookup.

Код:

 Sub VBA_Lookup1 () Край Sub 

Стъпка 3: Изберете изходната клетка, където трябва да видим стойността на търсене. Тук тази клетка е B9, където ще търсим със стойността за името „Aniket“, която е нашата стойност за търсене.

Код:

 Под VBA_Lookup1 () Обхват ("B9"). Стойност Край Sub 

Стъпка 4: Сега ще използваме функцията на работния лист и ще изберем функцията за търсене, вградена в списъка, както е показано по-долу.

Код:

 Под VBA_Lookup1 () Обхват ("B9"). Стойност = WorksheetFunction.Lookup End Sub 

Стъпка 5: След като изберете функцията Lookup, ще видим Arg1, Arg2 и Arg3 в неговия синтаксис. За това първо ще поставим нашия диапазон от стойности на Lookup, който е клетка A9 на мястото на Arg1.

Код:

 Под VBA_Lookup1 () Обхват ("B9"). Стойност = WorksheetFunction.Lookup (Обхват ("A9"). Стойност, Край Sub 

Стъпка 6: Сега за Arg2 изберете диапазона на търсене, който е от клетка A2: A5.

Код:

 Под VBA_Lookup1 () Обхват ("B9"). Стойност = WorksheetFunction.Lookup (диапазон ("A9"). Стойност, диапазон ("A2: A5"), край Sub 

Стъпка 7: Накрая изберете диапазони от стойности за търсене, които са от B2 до B5 вместо Arg3.

Код:

 Под VBA_Lookup1 () Обхват ("B9"). Стойност = WorksheetFunction.Lookup (диапазон ("A9"). Стойност, диапазон ("A2: A5"), обхват ("B2: B5")) Край Sub 

Стъпка 8: Стартирайте кода, като натиснете клавиша F5 или кликнете върху бутона за възпроизвеждане, разположен под лентата на менюто. Ще видим, според Lookup, броят на състезанията, извършени с името "Aniket" е 7.

Търсене в VBA - пример №2

Има и друг начин да приложите Lookup функция в Excel VBA. За това ще използваме същите данни, които видяхме в пример-1. За това следвайте стъпките по-долу:

Стъпка 1: Напишете подпроцедурата за VBA Lookup, както е показано по-долу.

Код:

 Sub VBA_Lookup2 () Край Sub 

Стъпка 2: Определете променлива като String, която ще бъде използвана за картографиране на колоната Name.

Код:

 Sub VBA_Lookup2 () Dim Name като String End Sub 

Стъпка 3: В определената променлива Name ще приложим приложението Vlookup, както е показано по-долу.

Код:

 Sub VBA_Lookup2 () Dim Име като име на низ = Application.VLookup (End Sub 

Стъпка 4: Да кажем, че нашата стойност за търсене е наречена „Ashwani“ от таблицата.

Код:

 Под VBA_Lookup2 () Dim Име като име на низ = Application.VLookup („Ashwani“, End Sub 

Стъпка 5: И диапазонът е от А1 до С6 от Sheet1.

Код:

 Sub VBA_Lookup2 () Dim Name като име на низ = Application.VLookup („Ashwani“, Sheet1.Range („A1: C6“), End Sub 

Стъпка 6: Сега, ако искаме да видим средната скорост на ездача „Ашвани” тук, трябва да картографираме клетката в синтаксиса за търсене, който е на 3 -то място.

Код:

 Под VBA_Lookup2 () Dim Name като име на низ = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) End Sub 

Стъпка 7: Сега, за да видите средната скорост на ездача „Ashwani”, можем да използваме MsgBox и Debug Print и двете. Но използването на Debug Print е много по-добре от MsgBox. Така че присвойте Debug Print с определена променлива Name.

Код:

 Под VBA_Lookup2 () Dim Name като име на низ = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Стъпка 8: Сега отворете незабавен прозорец, който се намира в раздела Меню View, за да видите резултата.

Стъпка 9: Компилирайте кода и го стартирайте. Ще видим, Lookup е картографирал със скоростта на Ashwani и го е вкарал в незабавния прозорец като 86 .

Код:

 Под VBA_Lookup2 () Dim Name като име на низ = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Търсене в VBA - пример №3

За да използвате функцията за търсене в excel VBA, следвайте стъпките по-долу:

Стъпка 1: Напишете подпроцедурата за VBA Lookup, както е показано по-долу.

Код:

 Sub VBA_Lookup3 () Край Sub 

Стъпка 2: Обявете променлива за Name като String, както е показано по-долу.

Код:

 Sub VBA_Lookup3 () Dim Name като String End Sub 

Стъпка 3: Сега присвойте името, което иска да търси на дефинираната променлива Име, както е показано по-долу.

Код:

 Sub VBA_Lookup3 () Dim Name като име на низ = „Deepinder“ End Sub 

Стъпка 4: Сега използвайте всяка дума за дефиниране и използване на Lookup позволява да кажем LUp . И в това използвайте функцията Работен лист с Vlookup, както е показано по-долу.

Код:

 Sub VBA_Lookup3 () Dim Name като име на низ = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "Средна скорост е:" & LUp End Sub 

Стъпка 5: Сега използвайте същия синтаксис на Vlookup, който използваме в Excel. В Arg1 поставете променливата Name, след това изберете матрицата на обхвата и потърсете стойност, която искаме да получим. Тук тази колона е 3, както е показано по-долу.

Код:

 Под VBA_Lookup3 () Dim Name като String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Име, Sheet1.Range ("A2: C6"), 3, невярно) MsgBox "Средна скорост е:" & LUp End Sub 

Стъпка 6: Сега използвайте MsgBox, за да видите резултата.

Код:

 Sub VBA_Lookup3 () Dim Name като 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 като String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Име, Sheet1.Range ("A2: C6"), 3, невярно) MsgBox "Средна скорост е:" & LUp End Sub 

Плюсове на функцията за търсене на Excel VBA

  • Той е толкова лесен за използване и изпълнение, колкото прилагането на регулярни формули Excel Vlookup в Excel.
  • В VBA Lookup можем да използваме всякакъв вид диапазон и матрица.
  • Има много малко или никакви ограничения, докато прилагате VBA Lookup.

Неща, които трябва да запомните

  • Можем да използваме Lookup вместо Vlookup във всяка ситуация.
  • Диапазонът за вектор за търсене и вектор за резултат трябва да са еднакви.
  • След като приключите с приложението, запазете файла като формат за активиране на макрос, за да запазите кода.
  • Няма задължително изискване всеки път да се поставя колоната с резултати вдясно от търсената стойност.

Препоръчителни статии

Това е ръководство за функцията за търсене на VBA. Тук обсъждаме как да използвате функцията Lookup в Excel VBA заедно с практически примери и шаблон за Excel за изтегляне. Можете да разгледате и другите ни предложени статии -

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

Категория: