Функция Excel VBA LOOKUP
Lookup е функцията, която ни помага да извлечем данните от основната таблица въз основа на единична справочна стойност. Функцията VBA LOOKUP не изисква такава структура на данните, за функцията LOOKUP няма значение дали колоната с резултати е вдясно или вляво от стойността за търсене, но тя може да извлича данните удобно.
Това работи подобно на функцията VLOOKUP, но по-важното е, че е гъвкаво в структурата на данните. Когато казваме гъвкавост в структурата на данните, това означава, че VLOOKUP се нуждае от всички стойности вдясно от справочна стойност в основната таблица и всичко останало до справочната стойност VLOOKUP не може да го намери.

Синтаксис
Ако вече сте търсили формулата LOOKUP във редактора на VBA, сигурен съм, че сте полудели, защото във VBA има формула, наречена LOOKUP.
Причината, поради която не е достъпна по подразбиране, защото LOOKUP по-скоро не е функция на VBA, а функция на работен лист. Така че, за да използваме функцията LOOKUP, първо трябва да използваме функцията на работния лист в клас VBA.

- Arg 1 означава справочна стойност
- Arg 2 е нашият справочен вектор, т.е. обхват на нашата колона за справочна стойност
- Arg 3 е нашият вектор за резултат.
Как да използвам функцията за търсене на VBA? (Примери)
Пример # 1
Имаме следните данни, от които искаме да получим Средната цена на конкретно име на продукт, използвайки функцията Търсене в VBA Excel.

За да получите Средната цена на мобилните аксесоари, използвайте следния код.
Стъпка 1: Стартирайте подпроцедурата във VBA.
Код:
Sub Lookup_Example1 () Край Sub

Стъпка 2: Трябва ми резултатът в клетката F3. Така че моят код е Range (“F3”). Стойност =.
Код:
Sub Lookup_Example1 () Диапазон ("F3"). Стойност Край Sub

Стъпка 3: Както казах, не можахме да получим незабавен достъп до функцията LOOKUP. Така че първо използвайте класа Function Worksheet.

Стъпка 4: В момента, в който приложим клас Function Worksheet, можем да видим всички налични формули с този клас във VBA, така че изберете LOOKUP от този списък.

Стъпка 5: При функциите на работния лист във VBA не виждаме ясни аргументи на формулата. Тук Arg 1 означава справочна стойност. Нашата справочна стойност е в клетката E3, затова напишете кода като Range (“E3”).
Код:
Sub Lookup_Example1 () Обхват ("F3"). Стойност = WorksheetFunction.Lookup (Обхват ("E3"). Стойност Край Sub

Стъпка 6: Arg 2 е нашият справочен вектор, т.е. обхватът на нашата колона за справочна стойност. В този пример нашият вектор за търсене е от B3 до B10.
Код:
Sub Lookup_Example1 () Обхват ("F3"). Стойност = WorksheetFunction.Lookup (Обхват ("E3"). Стойност, обхват ("B3: B10"), Краен под

Стъпка 7: Arg 3 е нашият вектор за резултат. Нуждаем се от резултата от колоната Ср. Цена, така че векторът на резултата е от диапазон C3 до C10.
Код:
Sub Lookup_Example1 () Обхват ("F3"). Стойност = WorksheetFunction.Lookup (Обхват ("E3"). Стойност, обхват ("B3: B10"), Обхват ("C3: C10")) End Sub

Добре, приключихме с VBA кодирането.
Нека пуснем кода и трябва да получим резултата в клетка F3.

По този начин можем да използваме функцията LOOKUP под клас на функция на работния лист, за да извлечем данните от предоставената справочна стойност.
Пример # 2
Използвайте променливи за функцията LOOKUP
Използвайки също променливи, можем да получим резултати. По-долу е примерен код на функцията за търсене с променливи.
Код:
Sub Lookup_Example2() Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range("F3") Set LookupValueCell = Range("E3") Set LookupVector = Range("B3:B10") Set ResultVector = Range("C3:C10") ResultCell = WorksheetFunction.Lookup(LookupValueCell, LookupVector, ResultVector) End Sub

Even though it looks lengthy, it will give good exposure to variables in VBA. Instead of supplying all the values to the formula directly, we have declared variables and assigned set of ranges and values to them.

Declaring variables and setting the reference to those variables is always a good practice in any coding language.
Things to Remember
- LOOKUP is an alternative function to VLOOKUP.
- LOOKUP не изисква непременно колоната с резултати да е вдясно от стойността за търсене.
- Дължината на диапазона както на справочния вектор, така и на резултата трябва да бъде еднаква.
- По-важното е, че трябва да предоставим номер на индекс на колона, който е необходим за функцията VLOOKUP.