Jak používat VLOOKUP ve VBA (4 způsoby)

  • Sdílet Toto
Hugh West

Pokud jde o vyhledávání nebo zobrazení určitých hodnot nebo prvků, MS Excel nabízí různé funkce. VLOOKUP je jednou z nich. Pomáhá nám vyhledat požadovaná data z libovolného souboru dat. Umožňuje nám uvést, zda chceme hledat přesnou nebo přibližnou shodu. Vedle použití této funkce ve vzorci Excelu ji můžeme použít i v kódu VBA. V tomto článku si ukážeme, jak můžeme použít tuto funkci. Funkce VLOOKUP ve VBA.

Stáhněte si cvičebnici

VLOOKUP ve VBA.xlsm

4 způsoby použití VLOOKUP ve VBA

1. Ruční vyhledávání dat pomocí VLOOKUP ve VBA

Mějme dataset informací o zaměstnancích s jejich ID, jménem, oddělením, datem nástupu a platem. Nyní je naším úkolem zjistit informace o zaměstnancích pomocí jejich ID ručně. Pro tuto část zjistíme pouze plat zaměstnance pomocí jeho ID.

Krok 1: Vyberte Visual Basic pod Vývojář karta (Zkratka Alt + F11 )

Krok 2: Poté se zobrazí okno. Modul možnost v rámci Vložte tlačítko

Krok 3: Nyní napište do konzoly VBA následující kód a stiskněte tlačítko Spustit tlačítko (Zkratka F5 )

Kód:

 Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID:" & Employee_id & " Salary " & "$" & salary End Sub 

Krok 4: Nyní se zobrazí okno s informacemi.

Přečtěte si více: VLOOKUP pro vyhledávání textu v aplikaci Excel (4 snadné způsoby)

2. Vyhledávání dat pomocí VLOOKUP ve VBA

Nyní se podíváme, jak můžeme vyhledávat nebo získávat data z tabulek nebo rozsahů pomocí vstupu. Stejně jako na obrázku zjistíme jméno zadaného id z tabulky s informacemi o zaměstnanci.

Krok 1: Nejprve otevřete konzolu VBA podle stejných kroků 1 až 2.

Krok 2: Nyní do okna VBA zadejte následující kód

Kód:

 Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub 

Krok 3: Nyní zadejte libovolné ID do buňky D13 a spustit kód

Krok 4: Na stránkách Název který je uložen proti ID, se zobrazí

Přečtěte si více: 10 osvědčených postupů pro VLOOKUP v aplikaci Excel

Podobná čtení

  • Nefunkční VLOOKUP (8 důvodů a řešení)
  • Funkce INDEX MATCH vs. VLOOKUP (9 příkladů)
  • Použití VLOOKUP s více kritérii v aplikaci Excel (6 metod + alternativy)
  • Excel VLOOKUP pro vyhledání poslední hodnoty ve sloupci (s alternativami)
  • VLOOKUP aplikace Excel pro vertikální vrácení více hodnot

3. Zjištění informací pomocí vstupního pole pomocí VLOOKUP ve VBA

Podívejme se, jak můžeme vyhledávat data pomocí vstupního pole VBA. Pro vyhledávání musíme použít příkaz VLOOKUP Funkce v kódu VBA. Datový soubor bude opět stejný, ale přístup k vyhledávání bude jiný. Zde je naším úkolem zjistit plat zaměstnance zadáním ID a oddělení.

Krok 1: Nejprve otevřete okno VBA podle stejných kroků 1 až 2.

Krok 2: Nyní zadejte následující kód do konzoly VBA a Spustit to

Kód:

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i End Sub 

Krok 3: Vypíše se kombinovaný řetězec s ID a Department v prvním sloupci.

Krok 4: Nyní znovu přejděte do konzoly VBA, zadejte celý kód a znovu jej spusťte.

Kód:

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Zadejte ID zaměstnance") department = InputBox("Zadejte oddělení zaměstnance") lookup_val = ID & "_" & department OnError GoTo Message check: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("The salary of the employee is $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Employee data not present") End If End Sub 

Vysvětlení kódu

  • Za prvé, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value pomocí tohoto kódu ukládáme hodnoty ID a Department do sloupce A.
  • lookup_val = ID & "_" & department určuje, že hodnotou vyhledávání bude ID a oddělení.
  • plat = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) zde ukládáme plat přiřazeného zaměstnance do proměnné s názvem plat
  • If Číslo chyby = 1004 Then Jedná se o kontrolu podmínek. Kontrolujeme, zda je číslo chyby 1004 nebo ne. V Excelu VBA kód 1004 znamená, že hledaná hodnota nebyla nalezena, odstraněna nebo odstraněna.

Krok 5: Nyní se zobrazí okno jako na tomto obrázku. Zadejte. ID a Oddělení postupně

Krok 6: Po stisknutí tlačítka Ok se zobrazí konečný výstup

Krok 7: Pokud zadáte špatný ID nebo Oddělení, zobrazí se následující zpráva

Přečtěte si více: Jak provést VLOOKUP s více podmínkami v aplikaci Excel (2 metody)

4. Vyhledání informací pomocí tlačítka VLOOKUP ve VBA

Nyní si ukážeme, jak můžeme zjistit informace pomocí tlačítka místo ručního spouštění kódu. Datová sada bude opět stejná jako výše.

Krok 1: Nejprve vyberte Vložte možnost v rámci Vývojář karta

Krok 2: Poté vyberte Tlačítko možnost z Vložte

Krok 3: Umístěte tlačítko podle svého požadavku a zadejte jeho název.

Krok 4: Nyní klikněte pravým tlačítkem myši na tlačítko a vyberte možnost Přiřazení makra

Krok 5: Nyní vytvořte nové makro a pojmenujte ho vlookup_function_4

Krok 6: Napište níže uvedený kód do konzoly VBA a Spustit kód

Kód:

 Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub 

Krok 6: Nyní zadejte libovolné ID a stiskněte tlačítko

Přečtěte si více: Použití VBA VLOOKUP k vyhledání hodnot z jiného listu v aplikaci Excel

Na co nezapomenout

Běžné chyby Když se ukáže.
1004 chyba Pokud kód VBA vlookup nemůže najít hodnotu lookup_value, zobrazí chybu 1004.
Funkce VLOOKUP nenalezená ve VBA Funkci Vlookup lze v aplikaci Excel VBA vyvolat pomocí funkce WorksheetFunction.
Zpracování chyb Chybu ve funkci vlookup lze kontrolovat pomocí příkazu přejít na stránku příkaz, pokud vrátí chybu.

Závěr

Toto jsou některé způsoby použití VLOOKUP funkce VBA v Excelu. Ukázal jsem všechny metody s příslušnými příklady, ale může existovat mnoho dalších iterací. Probíral jsem také základy použitých funkcí. Pokud máte nějakou jinou metodu, jak toho dosáhnout, pak se s námi o ni neváhejte podělit.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.