Funkcia VYHĽADÁVANIE VBA programu Excel
Vyhľadanie je funkcia, ktorá nám pomáha načítať údaje z hlavnej tabuľky na základe jednej vyhľadávacej hodnoty. Funkcia VBA LOOKUP nevyžaduje takúto dátovú štruktúru, pre funkciu LOOKUP nezáleží na tom, či je výsledný stĺpec napravo alebo naľavo od vyhľadávacej hodnoty, napriek tomu môže údaje pohodlne načítať.
Funguje to podobne ako funkcia VLOOKUP, ale čo je dôležitejšie, v dátovej štruktúre je flexibilná. Keď v dátovej štruktúre povieme flexibilné, znamená to, že VLOOKUP potrebuje všetky hodnoty napravo od vyhľadávacej hodnoty v hlavnej tabuľke a čokoľvek, čo zostane pri vyhľadávacej hodnote VLOOKUP, ju nemôže nájsť.

Syntax
Ak ste už hľadali vzorec LOOKUP v editore VBA, som si istý, že ste sa zbláznili, pretože vo VBA existuje vzorec s názvom LOOKUP.
Dôvod, prečo nie je predvolene k dispozícii, pretože LOOKUP nie je funkcia VBA, ale funkcia listu. Aby sme teda mohli použiť funkciu LOOKUP, musíme najskôr využiť funkciu listu v triede VBA.

- Arg. 1 znamená vyhľadanú hodnotu
- Arg 2 je náš vyhľadávací vektor, tj. Rozsah nášho stĺpca vyhľadávacích hodnôt
- Arg 3 je náš vektor výsledkov.
Ako používať funkciu vyhľadávania VBA? (Príklady)
Príklad č
Máme nasledujúce údaje, z ktorých chceme získať priemernú cenu konkrétneho názvu produktu pomocou funkcie vyhľadávania vo VBA Excel.

Ak chcete získať Priemernú cenu mobilného príslušenstva, použite nasledujúci kód.
Krok 1: Spustite podproces vo VBA.
Kód:
Sub Lookup_Example1 () End Sub

Krok 2: Potrebujem výsledok v bunke F3. Takže môj kód je Range (“F3”).
Kód:
Sub Lookup_Example1 () Range ("F3"). Hodnota End Sub

Krok 3: Ako som povedal, okamžite sme nemohli získať prístup k funkcii LOOKUP. Najprv teda použite triedu funkcií pracovného listu.

Krok 4: V okamihu, keď použijeme triedu funkcií pracovného hárka, uvidíme všetky dostupné vzorce s touto triedou vo VBA, takže v tomto zozname vyberte položku HĽADAŤ.

Krok 5: S funkciami pracovného hárka vo VBA nevidíme jasné argumenty vzorca. Arg 1 tu znamená hodnotu vyhľadávania. Naša vyhľadávacia hodnota je v bunke E3, takže napíšte kód ako Range („E3“).
Kód:
Sub Lookup_Example1 () Range ("F3"). Hodnota = WorksheetFunction.Lookup (Range ("E3"). Hodnota End Sub

Krok 6: Arg 2 je náš vyhľadávací vektor, tj. Rozsah nášho stĺpca vyhľadávacích hodnôt. V tomto príklade je náš rozsah vektorov vyhľadávania od B3 do B10.
Kód:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Krok 7: Arg 3 je náš vektor výsledkov. Potrebujeme výsledok zo stĺpca Priemerná cena, takže vektor výsledku je z rozsahu C3 až C10.
Kód:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), Range ("C3: C10")) End Sub

Dobre, skončili sme s kódovaním VBA.
Spustíme kód a výsledok by sme mali dostať v bunke F3.

Takto môžeme pomocou funkcie LOOKUP v triede funkcií pracovného hárka načítať údaje z dodanej vyhľadávacej hodnoty.
Príklad č
Pre funkciu LOOKUP použite premenné
Pomocou premenných tiež môžeme dosiahnuť výsledky. Ďalej je uvedený príklad kódu vyhľadávacej funkcie s premennými.
Kód:
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 nemusí nevyhnutne vyžadovať, aby sa stĺpec výsledku nachádzal napravo od vyhľadávacej hodnoty.
- Dĺžka rozsahu vyhľadávacieho vektora aj vektora výsledkov by mala byť rovnaká.
- Dôležitejšie je, že musíme zadať indexové číslo stĺpca, ktoré je potrebné pre funkciu VLOOKUP.