Funkce vyhledávání VBA - Jak používat funkci vyhledávání? (Příklady)

Funkce VYHLEDÁVÁNÍ VBA aplikace Excel

Vyhledávání je funkce, která nám pomáhá načíst data z hlavní tabulky na základě jediné vyhledávací hodnoty. Funkce VBA LOOKUP nevyžaduje takovou datovou strukturu, pro funkci LOOKUP nezáleží na tom, zda je sloupec výsledků napravo nebo nalevo od vyhledávací hodnoty, přesto může data pohodlně načíst.

To funguje podobně jako funkce VLOOKUP, ale co je důležitější, je to flexibilní v datové struktuře. Když řekneme flexibilní v datové struktuře, znamená to, že VLOOKUP potřebuje všechny hodnoty napravo od vyhledávací hodnoty v hlavní tabulce a nic, co zbylo z vyhledávací hodnoty VLOOKUP, ji nemůže najít.

Syntax

Pokud jste již hledali vzorec LOOKUP v editoru VBA, jsem si jistý, že jste se zbláznili, protože ve VBA existuje vzorec s názvem LOOKUP.

Důvod, proč není ve výchozím nastavení k dispozici, protože LOOKUP není spíše funkcí VBA, ale funkcí listu. Chcete-li tedy použít funkci VYHLEDAT, musíme nejprve využít funkci listu ve třídě VBA.

  • Arg 1 znamená vyhledávací hodnotu
  • Arg 2 je náš vyhledávací vektor, tj. Rozsah našeho sloupce hodnoty vyhledávání
  • Arg 3 je náš vektor výsledků.

Jak používat funkci vyhledávání VBA? (Příklady)

Příklad č. 1

Máme následující data, ze kterých chceme získat průměrnou cenu konkrétního názvu produktu pomocí funkce vyhledávání ve VBA Excel.

Chcete-li získat průměrnou cenu mobilního příslušenství, použijte následující kód.

Krok 1: Spusťte dílčí postup ve VBA.

Kód:

Sub Lookup_Example1 () End Sub

Krok 2: Potřebuji výsledek v buňce F3. Takže můj kód je Range (“F3”). Value =.

Kód:

Sub Lookup_Example1 () Range ("F3"). Hodnota End Sub

Krok 3: Jak jsem řekl, nemohli jsme hned přistupovat k funkci VYHLEDAT. Nejprve tedy použijte třídu Worksheet Function.

Krok 4: V okamžiku, kdy použijeme třídu funkcí pracovního listu, můžeme vidět všechny dostupné vzorce s touto třídou ve VBA, takže v tomto seznamu vyberte VYHLEDAT.

Krok 5: S funkcemi listu ve VBA nevidíme jasné argumenty vzorce. Zde Arg 1 znamená vyhledávací hodnotu. Naše vyhledávací hodnota je v buňce E3, takže kód zapište jako Range („E3“).

Kód:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Hodnota End Sub

Krok 6: Arg 2 je náš vyhledávací vektor, tj. Rozsah našeho sloupce hodnoty vyhledávání. V tomto příkladu je náš rozsah vektorů vyhledávání 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ýsledků. Potřebujeme výsledek ze sloupce Průměrná 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

Dobře, jsme hotovi s kódováním VBA.

Spustíme kód a výsledek bychom měli dostat do buňky F3.

Takto můžeme použít funkci LOOKUP ve třídě funkcí listu k načtení dat dodané vyhledávací hodnoty.

Příklad č. 2

Použijte proměnné pro funkci VYHLEDÁVÁNÍ

Pomocí proměnných také můžeme dosáhnout výsledků. Níže je uveden příklad kódu vyhledávací funkce s proměnný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.
  • VYHLEDÁVÁNÍ nemusí nutně vyžadovat, aby byl sloupec výsledků napravo od vyhledávací hodnoty.
  • Délka rozsahu vyhledávacího vektoru a výsledného vektoru by měla být stejná.
  • Ještě důležitější je, že musíme zadat indexové číslo sloupce, které je nezbytné pro funkci VLOOKUP.

Zajímavé články...