Obsah
Pokiaľ ide o vyhľadávanie alebo zobrazenie niektorých konkrétnych hodnôt alebo prvkov, MS Excel poskytuje rôzne funkcie. VLOOKUP Pomáha nám vyhľadať požadované údaje z akéhokoľvek súboru údajov. Umožňuje nám uviesť, či chceme hľadať presnú alebo približnú zhodu. Okrem použitia tejto funkcie vo vzorci Excelu ju môžeme použiť aj v kóde VBA. V tomto článku si ukážeme, ako môžeme použiť túto funkciu Funkcia VLOOKUP vo VBA.
Stiahnite si cvičebnicu
VLOOKUP vo VBA.xlsm4 spôsoby použitia VLOOKUP vo VBA
1. Manuálne vyhľadávanie údajov pomocou VLOOKUP vo VBA
Majme súbor údajov o zamestnancoch s ich ID, menom, oddelením, dátumom nástupu a platom. Teraz je našou úlohou manuálne zistiť informácie o zamestnancoch pomocou ich ID. V tejto časti zistíme len plat zamestnanca pomocou jeho ID.
Krok 1: Vyberte Visual Basic pod Vývojár karta (skratka Alt + F11 )
Krok 2: Potom sa zobrazí okno. Vyberte Modul možnosť v rámci Vložte tlačidlo
Krok 3: Teraz napíšte nasledujúci kód do konzoly VBA a stlačte tlačidlo Spustiť tlačidlo (skratka 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: Teraz sa zobrazí vyskakovacie okno so správou a informáciami
Prečítajte si viac: VLOOKUP na vyhľadávanie textu v programe Excel (4 jednoduché spôsoby)
2. Vyhľadávanie údajov so vstupom pomocou VLOOKUP vo VBA
Teraz si ukážeme, ako môžeme vyhľadávať alebo získavať údaje z tabuliek alebo rozsahov pomocou vstupu. Podobne ako na obrázku zistíme názov zadaného id z tabuľky s informáciami o zamestnancovi.
Krok 1: Najprv otvorte konzolu VBA podľa rovnakého kroku 1 až 2
Krok 2: Teraz zadajte do okna VBA nasledujúci 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: Teraz zadajte akékoľvek ID do bunky D13 a spustite kód
Krok 4: Stránka Názov ktorý je uložený pri ID, sa zobrazí
Prečítajte si viac: 10 osvedčených postupov s VLOOKUP v programe Excel
Podobné čítania
- VLOOKUP nefunguje (8 dôvodov & riešenia)
- Funkcia INDEX MATCH vs. VLOOKUP (9 príkladov)
- Používanie VLOOKUP s viacerými kritériami v programe Excel (6 metód + alternatívy)
- Excel VLOOKUP na zistenie poslednej hodnoty v stĺpci (s alternatívami)
- Excel VLOOKUP na vrátenie viacerých hodnôt vertikálne
3. Vyhľadávanie informácií pomocou vstupného poľa pomocou VLOOKUP vo VBA
Pozrime sa, ako môžeme vyhľadávať údaje pomocou vstupného poľa VBA. Na vyhľadávanie musíme použiť príkaz VLOOKUP Funkcia v kóde VBA. Dátový súbor bude opäť rovnaký, ale prístup k vyhľadávaniu bude odlišný. Tu je našou úlohou zistiť plat zamestnanca zadaním ID a oddelenia.
Krok 1: Najprv otvorte okno VBA podľa rovnakého kroku 1 až 2
Krok 2: Teraz zadajte nasledujúci kód do konzoly VBA a Spustiť 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 sa kombinovaný reťazec s ID a oddelením v prvom stĺpci
Krok 4: Teraz opäť prejdite do konzoly VBA, zadajte celý kód a spustite ho znova
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("Enter the ID of the employee") department = InputBox("Enter the department of the employee") 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
Vysvetlenie kódu
- Po prvé, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value pomocou tohto kódu ukladáme do stĺpca A spojenú hodnotu ID a Department.
- lookup_val = ID & "_" & department definuje, že hodnotou vyhľadávania bude ID a oddelenie.
- plat = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) tu ukladáme plat vybraného zamestnanca do premennej s názvom plat
- Ak číslo chyby = 1004 potom Toto je kontrola podmienok. Kontrolujeme, či je číslo chyby 1004 alebo nie. V Exceli VBA kód 1004 znamená, že hľadaná hodnota nebola nájdená, odstránená alebo odstránená.
Krok 5: Teraz sa zobrazí vyskakovacie okno ako na tomto obrázku. ID a Oddelenie postupne
Krok 6: Po stlačení tlačidla Ok sa zobrazí konečný výstup
Krok 7: Ak zadáte nesprávny ID alebo Oddelenie, zobrazí sa nasledujúca správa
Prečítajte si viac: Ako VLOOKUP s viacerými podmienkami v programe Excel (2 metódy)
4. Vyhľadávanie informácií pomocou tlačidla VLOOKUP v prostredí VBA
Teraz si ukážeme, ako môžeme zistiť informácie pomocou tlačidla namiesto ručného spustenia kódu. Súbor údajov bude opäť rovnaký ako vyššie.
Krok 1: Najprv vyberte Vložte možnosť v rámci Vývojár karta
Krok 2: Potom vyberte Tlačidlo možnosť z Vložte
Krok 3: Umiestnite tlačidlo podľa vašich požiadaviek a zadajte jeho názov
Krok 4: Teraz kliknite pravým tlačidlom myši na tlačidlo a vyberte Priradenie makra
Krok 5: Teraz vytvorte nové makro a pomenujte ho vlookup_function_4
Krok 6: Napíšte nasledujúci kód do konzoly VBA a Spustiť 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: Teraz zadajte ľubovoľné ID a stlačte tlačidlo
Prečítajte si viac: Použitie VBA VLOOKUP na vyhľadávanie hodnôt z iného pracovného hárka v programe Excel
Čo si treba zapamätať
Bežné chyby | Keď sa ukážu |
---|---|
1004 chyba | Ak kód VBA vlookup nemôže nájsť hodnotu lookup_value, zobrazí chybu 1004. |
Funkcia VLOOKUP nenájdená vo VBA | Funkciu Vlookup možno v programe Excel VBA zavolať pomocou funkcie WorksheetFunction. |
Spracovanie chýb | Chybu vo funkcii vlookup možno kontrolovať pomocou prejdite na stránku príkaz, ak vráti chybu. |
Záver
Toto sú niektoré spôsoby použitia VLOOKUP funkcie VBA v programe Excel. Ukázal som všetky metódy s príslušnými príkladmi, ale môže existovať mnoho ďalších iterácií. Rozobral som aj základy použitých funkcií. Ak máte nejakú inú metódu, ako to dosiahnuť, potom sa s nami o ňu neváhajte podeliť.