Obsah
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.xlsm4 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.