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