Kako uporabiti VLOOKUP v VBA (4 načini)

  • Deliti To
Hugh West

MS Excel ponuja različne funkcije za iskanje ali prikaz določenih vrednosti ali elementov. VLOOKUP je ena od njih. Pomaga nam iskati želene podatke iz katerega koli nabora podatkov. Omogoča nam, da navedemo, ali želimo poiskati natančno ali približno ujemanje. Poleg uporabe te funkcije v Excelovi formuli jo lahko uporabimo tudi v kodi VBA. V tem članku bomo videli, kako lahko uporabimo to Funkcija VLOOKUP v programu VBA.

Prenesite delovni zvezek za prakso

VLOOKUP v VBA.xlsm

4 načini uporabe VLOOKUP v VBA

1. Ročno iskanje podatkov z uporabo VLOOKUP v VBA

Imejmo nabor podatkov o zaposlenih z njihovim ID, imenom, oddelkom, datumom pridružitve in plačo. Naša naloga je, da ročno poiščemo podatke o zaposlenih z uporabo njihovega ID. V tem razdelku bomo samo poiskali plačo zaposlenega z uporabo njegovega ID.

Korak 1: Izberite Visual Basic na spletnem mestu . Razvijalec zavihek (bližnjica Alt + F11 )

Korak 2: Nato se bo odprlo okno. Izberite Modul možnost v okviru Vstavite gumb

Korak 3: V konzolo VBA napišite naslednjo kodo in pritisnite tipko Spustite gumb (bližnjica F5 )

Koda:

 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 

4. korak: Zdaj se bo pojavilo pojavno sporočilo in prikazalo informacije.

Preberite več: VLOOKUP za iskanje besedila v Excelu (4 preprosti načini)

2. Iskanje podatkov z vnosom z uporabo VLOOKUP v VBA

Zdaj si oglejmo, kako lahko z vnosom iščemo ali izvlečemo podatke iz tabel ali obsegov. Kot na sliki bomo iz tabele z informacijami o zaposlenih ugotovili ime vnesenega id.

Korak 1: Najprej odprite konzolo VBA, tako da sledite istemu koraku od 1. do 2. koraka

Korak 2: V okno VBA vnesite naslednjo kodo

Koda:

 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 

Korak 3: Zdaj v celico vnesite poljuben ID D13 in zaženite kodo

4. korak: Spletna stran Ime ki je shranjen v ID, se prikaže

Preberite več: 10 najboljših praks z VLOOKUP v Excelu

Podobna branja

  • VLOOKUP ne deluje (8 razlogov in rešitev)
  • Funkcija INDEX MATCH proti funkciji VLOOKUP (9 primerov)
  • Uporaba VLOOKUP z več merili v Excelu (6 metod + alternative)
  • Excel VLOOKUP za iskanje zadnje vrednosti v stolpcu (z alternativami)
  • Excel VLOOKUP za navpično vračanje več vrednosti

3. Iskanje informacij z vnosnim poljem z uporabo VLOOKUP v VBA

Oglejmo si, kako lahko iščemo podatke z uporabo vnosnega polja VBA. Za iskanje moramo uporabiti VLOOKUP Tudi v tem primeru bo nabor podatkov enak, vendar bo pristop k iskanju drugačen. Naša naloga je, da poiščemo plačo zaposlenega z vnosom ID in oddelka.

Korak 1: Najprej odprite okno VBA, tako da sledite istemu koraku od 1. do 2. koraka

Korak 2: V konzolo VBA vnesite naslednjo kodo in Spustite .

Koda:

 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 

Korak 3: To bo natisnilo kombinirani niz z ID in oddelkom v prvem stolpcu.

4. korak: Zdaj ponovno pojdite v konzolo VBA in vnesite celotno kodo ter jo ponovno zaženite

Koda:

 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 ("Plača zaposlenega je $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Employee data not present") End If End Sub 

Razlaga kode

  • Prvič, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value s to kodo shranjujemo združene vrednosti ID in Department v stolpec A.
  • lookup_val = ID & "_" & oddelek s tem je določeno, da bosta vrednost iskanja ID in oddelek.
  • plača = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) tukaj shranjujemo plačo izbranega zaposlenega v spremenljivko z imenom plača
  • Če je številka napake = 1004, potem To je preverjanje pogojev. Preverjamo, ali je številka napake 1004 ali ne. V Excelu VBA koda 1004 pomeni, da iskana vrednost ni najdena, izbrisana ali odstranjena.

5. korak: Zdaj se bo pojavilo pojavno okno, kot je na tej sliki. ID in . Oddelek zaporedno

Korak 6: Po pritisku na Ok gumb končni rezultat bo prikazan

Korak 7: Če vnesete napačen ID ali Oddelek, prikazalo se bo spodnje sporočilo

Preberite več: Kako VLOOKUP z več pogoji v Excelu (2 metodi)

4. Iskanje informacij z gumbom z uporabo VLOOKUP v VBA

Zdaj si bomo ogledali, kako lahko informacije poiščemo s pomočjo gumba, namesto da bi ročno zagnali kodo. Tudi v tem primeru bo nabor podatkov enak kot zgoraj.

Korak 1: Najprej izberite Vstavite možnost v okviru Razvijalec zavihek

Korak 2: Nato izberite Gumb možnost iz Vstavite

Korak 3: Postavite gumb po svojih zahtevah in navedite ime gumba

4. korak: Zdaj desno kliknite na gumb in izberite Dodelitev makra

5. korak: Ustvarite nov makro in ga poimenujte vlookup_function_4

Korak 6: V konzolo VBA napišite spodnjo kodo in Spustite koda

Koda:

 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 

Korak 6: Zdaj vnesite katero koli ID in pritisnite gumb

Preberite več: Uporaba VBA VLOOKUP za iskanje vrednosti iz drugega delovnega lista v Excelu

Stvari, ki si jih je treba zapomniti

Pogoste napake Ko pokažejo
1004 napaka Če koda VBA vlookup ne more najti vrednosti lookup_value, se izpiše napaka 1004.
Funkcija VLOOKUP ni bila najdena v programu VBA Funkcijo Vlookup lahko v Excelu VBA prikličete z uporabo WorksheetFunction.
Ravnanje z napakami Napako v funkciji vlookup lahko nadzorujete z uporabo poglej če vrne napako.

Zaključek

To so nekateri načini uporabe VLOOKUP V Excelu sem prikazal vse metode z ustreznimi primeri, vendar je lahko še veliko drugih ponovitev. Obravnaval sem tudi osnove uporabljenih funkcij. Če imate kakšno drugo metodo za doseganje tega, jo lahko delite z nami.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.