Funkcija Excel VBA LOOKUP
Lookup je funkcija koja nam pomaže dohvatiti podatke iz glavne tablice na temelju jedne vrijednosti pretraživanja. VBA LOOKUP funkcija ne zahtijeva takvu strukturu podataka, za LOOKUP funkciju nije važno je li stupac rezultata desno ili lijevo od vrijednosti pretraživanja, ipak, podatke može udobno dohvatiti.
To djeluje slično funkciji VLOOKUP, ali što je još važnije, ovo je fleksibilno u strukturi podataka. Kad kažemo fleksibilnost u strukturi podataka, to znači da VLOOKUP treba sve vrijednosti desno od vrijednosti pretraživanja u glavnoj tablici, a sve što je ostalo od vrijednosti pretraživanja VLOOKUP to ne može pronaći.

Sintaksa
Ako ste već tražili formulu LOOKUP u VBA editoru, siguran sam da ste poludjeli jer u VBA postoji formula koja se zove LOOKUP.
Razlog zašto nije dostupan prema zadanim postavkama jer LOOKUP prije nije funkcija VBA, već je funkcija radnog lista. Dakle, da bismo koristili funkciju LOOKUP, prvo moramo iskoristiti funkciju radnog lista u VBA klasi.

- Arg. 1 znači vrijednost pretraživanja
- Arg 2 je naš vektor pretraživanja, tj. Opseg našeg stupca vrijednosti pretraživanja
- Arg 3 je naš vektor rezultata.
Kako se koristi funkcija pretraživanja VBA? (Primjeri)
Primjer # 1
Imamo sljedeće podatke iz kojih želimo dobiti prosječnu cijenu određenog naziva proizvoda pomoću funkcije Traženje u VBA Excelu.

Da biste dobili prosječnu cijenu mobilne opreme, upotrijebite sljedeći kod.
Korak 1: Pokrenite potpostupak u VBA.
Kodirati:
Sub Lookup_Example1 () Kraj Sub

Korak 2: Trebam rezultat u F3 ćeliji. Dakle, moj kôd je Raspon ("F3"). Vrijednost =.
Kodirati:
Sub Lookup_Example1 () Raspon ("F3"). Vrijednost Kraj Sub

Korak 3: Kao što sam rekao, nismo mogli odmah pristupiti funkciji LOOKUP. Dakle, prvo upotrijebite klasu Funkcija radnog lista.

Korak 4: U trenutku kada primijenimo klasu Funkcije radnog lista, u VBA možemo vidjeti sve dostupne formule s ovom klasom, pa s ovog popisa odaberite LOOKUP.

Korak 5: S funkcijama radnog lista u VBA, ne vidimo jasne argumente formule. Ovdje Arg 1 znači vrijednost pretraživanja. Naša vrijednost pretraživanja nalazi se u ćeliji E3, pa napišite kôd kao Raspon ("E3"). Vrijednost.
Kodirati:
Sub Lookup_Example1 () Raspon ("F3"). Vrijednost = Radni listFunction.Lookup (Raspon ("E3"). Vrijednost Kraj Sub

Korak 6: Arg 2 je naš vektor pretraživanja, tj. Opseg našeg stupca vrijednosti pretraživanja. U ovom primjeru, naš raspon vektora traženja je od B3 do B10.
Kodirati:
Sub Lookup_Example1 () Raspon ("F3"). Vrijednost = Radni listFunction.Lookup (Raspon ("E3"). Vrijednost, raspon ("B3: B10"), krajnji pod

Korak 7: Arg 3 je naš vektor rezultata. Potreban nam je rezultat iz stupca Prosječna cijena, tako da je vektor rezultata od raspona C3 do C10.
Kodirati:
Sub Lookup_Example1 () Raspon ("F3"). Vrijednost = Radni listFunction.Lookup (Raspon ("E3"). Vrijednost, Raspon ("B3: B10"), Raspon ("C3: C10")) Kraj Sub

U redu, završili smo s VBA kodiranjem.
Pokrenimo kôd i trebali bismo dobiti rezultat u ćeliji F3.

Slično ovome, možemo koristiti funkciju LOOKUP u klasi funkcije radnog lista za dohvaćanje podataka isporučene vrijednosti pretraživanja.
Primjer # 2
Koristite varijable za funkciju LOOKUP
Koristeći varijable također možemo doći do rezultata. Ispod je primjer koda funkcije pretraživanja s varijablama.
Kodirati:
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 ne zahtijeva nužno da se stupac rezultata nalazi desno od vrijednosti pretraživanja.
- Duljina raspona vektora pretraživanja i vektora rezultata trebala bi biti ista.
- Još važnije, trebamo navesti indeksni broj stupca, koji je potreban za funkciju VLOOKUP.