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