Exceli VBA LOOKUP funktsioon
Otsing on funktsioon, mis aitab meil põhitabelist andmeid hankida ühe otsingu väärtuse põhjal. Funktsioon VBA LOOKUP ei vaja sellist andmestruktuuri, funktsiooni LOOKUP jaoks pole vahet, kas tulemuse veerg asub otsingu väärtusest paremal või vasakul, kuid siiski saab see andmeid mugavalt tuua.
See töötab sarnaselt funktsiooniga VLOOKUP, kuid mis veelgi olulisem, see on andmestruktuuris paindlik. Kui me ütleme andmestruktuuris paindlik, tähendab see seda, et VLOOKUP vajab kõiki väärtusi põhitabeli otsinguväärtusest paremal ja midagi, mis jääb otsinguväärtusele VLOOKUP, ei leia seda.

Süntaks
Kui otsisite VBA redaktorist juba valemit LOOKUP, siis olen kindel, et olete hulluks läinud, sest VBA-s on valem nimega LOOKUP.
Põhjus, miks see pole vaikimisi saadaval, kuna LOOKUP pole pigem VBA-funktsioon, on see töölehe funktsioon. Nii et funktsiooni LOOKUP kasutamiseks peame kõigepealt kasutama VBA klassi töölehe funktsiooni.

- Arg 1 tähendab otsingu väärtust
- Arg 2 on meie otsinguvektor, st meie otsinguväärtuse veeru vahemik
- Arg 3 on meie tulemusvektor.
Kuidas kasutada VBA otsingu funktsiooni? (Näited)
Näide 1
Meil on järgmised andmed, millest soovime saada VBA Exceli funktsiooni Lookup abil konkreetse tootenime keskmist hinda.

Mobiilseadmete keskm. Hinna saamiseks kasutage järgmist koodi.
1. samm: alustage alamprotseduuri VBA-s.
Kood:
Alamotsing_näide1 () Lõpeta alam

2. samm: mul on vaja tulemust lahtrisse F3. Minu kood on vahemik („F3”). Väärtus =.
Kood:
Alamotsingu_näide1 () vahemik ("F3"). Väärtus Lõpp Alam

3. samm: nagu ma ütlesin, ei saanud me kohe funktsiooni LOOKUP juurde pääseda. Nii et kõigepealt kasutage töölehe funktsiooni klassi.

4. samm: hetkel, kui rakendame töölehe funktsiooni klassi, näeme VBA-s kõiki selle klassiga saadaolevaid valemeid, seega valige sellest loendist LOOKUP.

5. samm: VBA töölehe funktsioonide korral ei näe me valemi selgeid argumente. Siin tähendab Arg 1 otsingu väärtust. Meie otsingu väärtus on lahtris E3, nii et kirjutage kood vahemikuks (“E3”).
Kood:
Alamotsing_näide1 () Range ("F3"). Väärtus = WorksheetFunction.Lookup (Range ("E3"). Väärtus End Sub

6. samm: Arg 2 on meie otsinguvektor, st meie otsinguväärtuse veeru vahemik. Selles näites on meie otsinguvektori vahemik vahemikus B3 kuni B10.
Kood:
Alamotsing_näide1 () Vahemik ("F3"). Väärtus = TöölehtFunction.Lookup (Vahemik ("E3"). Väärtus, Vahemik ("B3: B10"), Lõpp-alam

7. samm: Arg 3 on meie tulemusvektor. Vajame tulemust veerust Keskmine hind, seega on tulemusvektor vahemikust C3 kuni C10.
Kood:
Alamotsing_näide1 () Range ("F3"). Väärtus = WorksheetFunction.Lookup (Range ("E3"). Väärtus, Range ("B3: B10"), Range ("C3: C10")) Lõpp alam

Ok, oleme VBA kodeerimisega valmis.
Käivitame koodi ja tulemuse peaksime saama lahtrist F3.

Niimoodi saame sisestatud otsingu väärtuse andmete hankimiseks kasutada töölehe funktsiooniklassi funktsiooni LOOKUP.
Näide 2
Funktsiooni LOOKUP jaoks kasutage muutujaid
Muutujate abil saame ka tulemusi. Allpool on näidisfunktsioon koos muutujatega.
Kood:
Sub Lookup_Example2() Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range("F3") Set LookupValueCell = Range("E3") Set LookupVector = Range("B3:B10") Set ResultVector = Range("C3:C10") ResultCell = WorksheetFunction.Lookup(LookupValueCell, LookupVector, ResultVector) End Sub

Even though it looks lengthy, it will give good exposure to variables in VBA. Instead of supplying all the values to the formula directly, we have declared variables and assigned set of ranges and values to them.

Declaring variables and setting the reference to those variables is always a good practice in any coding language.
Things to Remember
- LOOKUP is an alternative function to VLOOKUP.
- LOOKUP ei nõua tingimata, et tulemiveerg oleks otsingu väärtusest paremal.
- Nii otsimisvektori kui ka tulemusvektori vahemiku pikkus peaks olema sama.
- Veelgi olulisem on see, et peame esitama veeru indeksi numbri, mis on vajalik funktsiooni VLOOKUP jaoks.