Kuidas kasutada VLOOKUP-i VBA-s (4 võimalust)

  • Jaga Seda
Hugh West

MS Excel pakub teatud väärtuste või elementide otsimiseks või nägemiseks erinevaid funktsioone. VLOOKUP on üks neist. See aitab meil otsida soovitud andmeid mis tahes andmestikust. See võimaldab meil märkida, kas otsida täpset või ligikaudset kokkulangevust. Koos selle funktsiooni kasutamisega Exceli valemis saame seda kasutada ka VBA-koodis. Selles artiklis näeme, kuidas me saame seda kasutada. VLOOKUP funktsioon VBAs.

Lae alla praktika töövihik

VLOOKUP in VBA.xlsm

4 viisi VLOOKUPi kasutamiseks VBAs

1. Andmete käsitsi otsimine VLOOKUPi abil VBAs

Olgu meil töötaja andmete andmestik, milles on nende ID, nimi, osakond, tööleasumise kuupäev ja palk. Nüüd on meie ülesanne leida töötaja andmed nende ID abil käsitsi. Selles osas leiame lihtsalt töötaja palga, kasutades nende ID-d.

1. samm: Valige Visual Basic aadressil Arendaja vahekaart (otsetee Alt + F11 )

2. samm: Siis tuleb aken. Valige Moodul võimalus all Sisesta nupp

3. samm: Nüüd kirjutage VBA konsooli järgmine kood ja vajutage nuppu Käivita nupp (otsetee F5 )

Kood:

 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 & " Palk " & "$" & salary End Sub 

4. samm: Nüüd tuleb sõnum pop ja näitab teavet

Loe edasi: VLOOKUP teksti otsimiseks Excelis (4 lihtsat viisi)

2. Andmete otsimine sisendi abil VLOOKUPi abil VBAs

Nüüd vaatame, kuidas me saame otsida või välja võtta andmeid tabelitest või vahemikest sisendiga. Nagu pildil, leiame sisestatud id-i nime töötaja infotabelist.

1. samm: Avage kõigepealt VBA konsool, järgides sama sammu 1 kuni sammu 2

2. samm: Nüüd sisestage VBA aknasse järgmine kood

Kood:

 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 

3. samm: Nüüd Sisestage lahtrisse ükskõik milline ID D13 ja käivitada kood

4. samm: The Nimi mis on salvestatud ID vastu, näidatakse

Loe edasi: 10 parimat praktikat VLOOKUPiga Excelis

Sarnased lugemised

  • VLOOKUP ei tööta (8 põhjust & lahendused)
  • INDEX MATCH vs VLOOKUP funktsioon (9 näidet)
  • Kasutage VLOOKUP-i mitme kriteeriumiga Excelis (6 meetodit + alternatiivid)
  • Exceli VLOOKUP, et leida viimane väärtus veerus (koos alternatiividega)
  • Excel VLOOKUP mitme väärtuse vertikaalseks tagastamiseks

3. Andmete leidmine sisendkastiga, kasutades VLOOKUP-i VBA-s VLOOKUP-i

Vaatame, kuidas me saame otsida andmeid VBA sisestuskasti abil. Otsingu tegemiseks peame kasutama funktsiooni VLOOKUP funktsiooni VBA koodis. Ka siin on andmekogum sama, kuid otsingul põhinev lähenemine on erinev. Siin on meie ülesanne leida töötaja palk, sisestades ID ja osakonna.

1. samm: Avage kõigepealt VBA aken, järgides sama sammu 1 kuni sammu 2

2. samm: Nüüd sisestage VBA konsooli järgmine kood ja Käivita see

Kood:

 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 

3. samm: See trükib kombineeritud stringi, mille esimeses veerus on ID ja osakond.

4. samm: Nüüd minge uuesti VBA konsooli ja sisestage kogu kood ning käivitage uuesti

Kood:

 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("Sisesta töötaja ID") department = InputBox("Sisesta töötaja osakond") lookup_val = ID & "_" & department OnError GoTo Message check: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("Töötaja palk on $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Töötaja andmed puuduvad") End If End Sub 

Kood Selgitus

  • Esiteks, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value selle koodi abil salvestame ID ja osakonna ühendatud väärtused veergu A.
  • lookup_val = ID & "_" & osakond see määratleb, et otsinguväärtuseks on ID ja osakond.
  • salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) siin salvestame sobitatud töötaja palga muutujasse nimega palk
  • If Err. Number = 1004 Then see on tingimuse kontrollimine. Me kontrollime, kas veanumber on 1004 või mitte. Excel VBA koodis 1004 tähendab, et otsitud väärtust ei ole leitud, kustutatud või eemaldatud.

5. samm: Nüüd ilmub selline hüpikaken nagu see pilt. Sisesta ID ja Osakond järjestikku

6. samm: Pärast vajutamist Ok nuppu kuvatakse lõplik väljund

7. samm: Kui sisestate vale ID või Osakond, see näitab alljärgnevat sõnumit

Loe edasi: Kuidas VLOOKUP mitmete tingimustega Excelis (2 meetodit)

4. Teabe leidmine nupu abil, kasutades VLOOKUP-i VBAs

Nüüd vaatame, kuidas saame koodi käsitsi käivitamise asemel nupu abil teavet välja selgitada. Jällegi on andmekogum sama, mis eespool.

1. samm: Kõigepealt valige Sisesta valikuvõimaluse all Arendaja vahekaart

2. samm: Seejärel valige Nupp valikust Sisesta

3. samm: Asetage nupp vastavalt oma vajadusele ja andke nupule nimi.

4. samm: Nüüd tee nupul paremklõps ja vali Makro määramine

5. samm: Nüüd loome uue makro ja nimetame selle vlookup_function_4

6. samm: Kirjutage VBA konsooli alljärgnev kood ja Käivita kood

Kood:

 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 

6. samm: Nüüd sisestage suvaline ID ja vajutage nuppu

Loe edasi: VBA VLOOKUP-i kasutamine Excelis teise töölehe väärtuste leidmiseks

Asjad, mida meeles pidada

Tavalised vead Kui nad näitavad
1004 viga Kui VBA vlookup-kood ei leia lookup_value'i, annab see vea 1004.
VLOOKUP funktsiooni ei leitud VBAs Vlookup-funktsiooni saab Excel VBAs kutsuda, kasutades WorksheetFunction.
Veakäitlus vlookup-funktsiooni viga saab kontrollida, kasutades mine avaldus, kui see tagastab vea.

Kokkuvõte

Need on mõned viisid, kuidas kasutada VLOOKUP funktsioon VBAs Excelis. Olen näidanud kõiki meetodeid koos vastavate näidetega, kuid võib olla ka palju muid iteratsioone. Olen käsitlenud ka kasutatud funktsioonide põhialuseid. Kui teil on mõni muu meetod, siis jagage seda julgelt meiega.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.