Kaip naudoti VLOOKUP VBA (4 būdai)

  • Pasidalinti
Hugh West

Norint ieškoti arba matyti tam tikras konkrečias reikšmes ar elementus, "MS Excel" siūlo įvairias funkcijas. VLOOKUP Ji padeda mums ieškoti norimų duomenų iš bet kokio duomenų rinkinio. Ji leidžia mums nurodyti, ar ieškoti tikslaus atitikmens, ar apytikslio atitikmens. Šią funkciją galime naudoti ne tik "Excel" formulėje, bet ir VBA kode. Šiame straipsnyje pamatysime, kaip galime naudoti šią funkciją. VLOOKUP funkcija VBA.

Atsisiųsti praktikos sąsiuvinį

VLOOKUP VBA.xlsm

4 VLOOKUP naudojimo būdai VBA

1. Duomenų paieška rankiniu būdu naudojant VLOOKUP VBA

Turėkime darbuotojų informacijos duomenų rinkinį su jų ID, vardu, pavarde, departamentu, prisijungimo data ir atlyginimu. Dabar mūsų užduotis - rankiniu būdu surasti darbuotojų informaciją pagal jų ID. Šiame skirsnyje, naudodamiesi jų ID, tiesiog surasime darbuotojų atlyginimus.

1 žingsnis: Pasirinkite "Visual Basic pagal Kūrėjas skirtukas (Trumpasis klavišas Alt + F11 )

2 žingsnis: Tada pasirodys langas. Pasirinkite Modulis parinktį pagal Įdėkite Mygtukas

3 veiksmas: Dabar į VBA konsolę įrašykite šį kodą ir paspauskite Paleisti mygtuką (Spartusis klavišas F5 )

Kodas:

 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 veiksmas: Dabar pasirodys iššokantis pranešimas, kuriame bus rodoma informacija.

Skaityti daugiau: VLOOKUP teksto paieškai programoje "Excel" (4 paprasti būdai)

2. Duomenų paieška pagal įvestį naudojant VLOOKUP VBA programoje

Dabar pažiūrėkime, kaip galime ieškoti arba išgauti duomenis iš lentelių ar intervalų su įvestimi. Kaip ir paveikslėlyje, iš darbuotojo informacijos lentelės sužinosime įvesto ID pavadinimą.

1 žingsnis: Pirmiausia atidarykite VBA konsolę, atlikdami tą patį 1 ir 2 žingsnį

2 žingsnis: Dabar VBA lange įveskite šį kodą

Kodas:

 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 veiksmas: Dabar ląstelėje įveskite bet kokį ID D13 ir paleiskite kodą

4 veiksmas: Svetainė Pavadinimas kuris yra išsaugotas pagal ID, bus rodomas

Skaityti daugiau: 10 geriausios "Excel" VLOOKUP praktikos pavyzdžių

Panašūs skaitiniai

  • VLOOKUP neveikia (8 priežastys ir sprendimai)
  • INDEX MATCH vs VLOOKUP funkcija (9 pavyzdžiai)
  • Naudokite VLOOKUP su keliais kriterijais "Excel" programoje (6 metodai + alternatyvos)
  • "Excel" VLOOKUP paskutinei stulpelio vertei rasti (su alternatyvomis)
  • "Excel" VLOOKUP kelioms vertėms vertikaliai grąžinti

3. Ieškoti informacijos su įvesties langeliu naudojant VLOOKUP VBA

Pažiūrėkime, kaip galime atlikti duomenų paiešką naudodami VBA įvesties langelį. Norėdami atlikti paiešką, turime naudoti VLOOKUP VBA kodo funkciją. Vėlgi duomenų rinkinys bus tas pats, tačiau paieškos metodas bus kitoks. Šiuo atveju mūsų užduotis yra sužinoti darbuotojo atlyginimą įvedus ID ir departamentą.

1 žingsnis: Pirmiausia atidarykite VBA langą, atlikdami tuos pačius 1 ir 2 žingsnius

2 žingsnis: Dabar įveskite šį kodą į VBA konsolę ir Paleisti tai

Kodas:

 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 veiksmas: Taip bus išspausdinta kombinuota eilutė, kurios pirmajame stulpelyje bus ID ir departamentas.

4 veiksmas: Dabar vėl eikite į VBA konsolę, įveskite visą kodą ir vėl paleiskite

Kodas:

 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("Įveskite darbuotojo ID") department = InputBox("Įveskite darbuotojo departamentą") lookup_val = ID & "_" & department OnError GoTo Message check: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("Darbuotojo atlyginimas yra $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Employee data not present") End If End Sub 

Kodo paaiškinimas

  • Pirma, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value naudodami šį kodą mes saugome ID ir departamento susietas vertes stulpelyje A.
  • lookup_val = ID & "_" & departamentas taip apibrėžiama, kad paieškos reikšmė bus ID ir departamentas.
  • atlyginimas = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) čia į kintamąjį, pavadintą atlyginimas
  • If Err. Number = 1004 Then Tai yra sąlygos tikrinimas. Tikriname, ar klaidos numeris yra 1004, ar ne. "Excel" VBA 1004 kodas reiškia, kad ieškoma reikšmė nerandama, ištrinama arba pašalinama.

5 veiksmas: Dabar bus rodomas toks langas, kaip šiame paveikslėlyje. ID ir Departamentas nuosekliai

6 veiksmas: Paspaudus Gerai bus rodomas galutinis išvesties rezultatas

7 veiksmas: Jei įvesite neteisingą ID arba Departamentas, bus rodomas toliau pateiktas pranešimas

Skaityti daugiau: Kaip atlikti VLOOKUP su keliomis sąlygomis "Excel" programoje (2 metodai)

4. Ieškoti informacijos su mygtuku naudojant VLOOKUP VBA

Dabar pamatysime, kaip galime sužinoti informaciją naudodami mygtuką, užuot rankiniu būdu paleidę kodą. Vėlgi duomenų rinkinys bus toks pat, kaip ir anksčiau.

1 žingsnis: Pirmiausia pasirinkite Įdėkite parinktį pagal Kūrėjas skirtukas

2 žingsnis: Tada pasirinkite Mygtukas parinktį iš Įdėkite

3 veiksmas: Įdėkite mygtuką pagal savo reikalavimus ir nurodykite jo pavadinimą

4 veiksmas: Dabar dešiniuoju pelės klavišu spustelėkite mygtuką ir pasirinkite Priskirti makrokomandą

5 veiksmas: Dabar sukurkite naują makrokomandą ir pavadinkite ją vlookup_function_4

6 veiksmas: Įrašykite toliau pateiktą kodą VBA konsolėje ir Paleisti kodas

Kodas:

 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 veiksmas: Dabar įveskite bet kokį ID ir paspauskite mygtuką

Skaityti daugiau: VBA VLOOKUP naudojimas siekiant rasti vertes iš kito "Excel" darbalapio

Dalykai, kuriuos reikia prisiminti

Dažniausiai pasitaikančios klaidos Kai jie parodo
1004 klaida Kai VBA vlookup kodas neranda lookup_value, pateikia 1004 klaidą.
VBA nerandama VLOOKUP funkcija Funkciją Vlookup galima iškviesti "Excel VBA" naudojant WorksheetFunction.
Klaidų tvarkymas "vlookup" funkcijos klaidą galima kontroliuoti naudojant žiūrėti teiginį, jei jis grąžina klaidą.

Išvada

Tai keli būdai, kaip naudoti VLOOKUP VBA funkciją "Excel" programoje. Parodžiau visus metodus su atitinkamais pavyzdžiais, tačiau gali būti daug kitų iteracijų. Taip pat aptariau naudojamų funkcijų pagrindus. Jei turite kitų metodų, kaip tai pasiekti, nedvejodami pasidalykite jais su mumis.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.