Ako používať VLOOKUP vo VBA (4 spôsoby)

  • Zdieľajte To
Hugh West

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.xlsm

4 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ť.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.