Excel VBA LOOKUP-funktion
Opslag er den funktion, der hjælper os med at hente data fra hovedtabellen baseret på en enkelt opslagsværdi. VBA LOOKUP-funktion kræver ikke sådan datastruktur, for LOOKUP-funktion betyder det ikke noget, om resultatsøjlen er til højre eller venstre for opslagsværdien, men den kan stadig hente dataene komfortabelt.
Dette fungerer på samme måde som VLOOKUP-funktionen, men vigtigere er det, at dette er fleksibelt i en datastruktur. Når vi siger fleksibel i datastrukturen, betyder det, at VLOOKUP har brug for alle værdierne til højre for en opslagsværdi i hovedtabellen, og alt, der er tilbage til opslagsværdien VLOOKUP, kan ikke finde den.

Syntaks
Hvis du allerede har søgt efter LOOKUP-formlen i VBA-editor, er jeg sikker på, at du er blevet sur, fordi der er en formel, der hedder LOOKUP i VBA.
Årsagen til, at den ikke er tilgængelig som standard, fordi LOOKUP ikke er en VBA-funktion, det er en regnearksfunktion. Så for at bruge LOOKUP-funktionen skal vi først bruge regnearkfunktionen i VBA-klasse.

- Arg 1 betyder opslagsværdi
- Arg 2 er vores opslagsvektor, dvs. rækkevidde i vores opslagsværdikolonne
- Arg 3 er vores resultatvektor.
Hvordan bruges VBA-opslagsfunktion? (Eksempler)
Eksempel nr. 1
Vi har følgende data, hvorfra vi ønsker at få gennemsnitsprisen for et bestemt produktnavn ved hjælp af Lookup-funktionen i VBA Excel.

For at få gennemsnitsprisen på mobiltilbehør til at bruge følgende kode.
Trin 1: Start delproceduren i VBA.
Kode:
Sub Lookup_Example1 () Afslut Sub

Trin 2: Jeg har brug for resultatet i F3-cellen. Så min kode er Range ("F3"). Værdi =.
Kode:
Sub Lookup_Example1 () Range ("F3"). Værdi End Sub

Trin 3: Som jeg fortalte, kunne vi ikke med det samme få adgang til LOOKUP-funktionen. Så først skal du bruge klassen Worksheet Function.

Trin 4: I det øjeblik vi anvender klassen Arbejdsarkfunktion, kan vi se alle de tilgængelige formler med denne klasse i VBA, så vælg OPSLAG fra denne liste.

Trin 5: Med regnearksfunktioner i VBA ser vi ikke klare argumenter for formlen. Her betyder Arg 1 opslagsværdi. Vores opslagsværdi er i cellen E3, så skriv koden som Range (“E3”).
Kode:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value End Sub

Trin 6: Arg 2 er vores opslagsvektor, dvs. området for vores opslagsværdikolonne. I dette eksempel er vores opslagsvektorinterval fra B3 til B10.
Kode:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Trin 7: Arg 3 er vores resultatvektor. Vi har brug for resultatet fra kolonnen Gns. Pris, så resultatvektoren er fra område C3 til C10.
Kode:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), Range ("C3: C10")) End Sub

Okay, vi er færdige med VBA-kodningen.
Lad os køre koden, og vi skal få resultatet i celle F3.

På denne måde kan vi bruge LOOKUP-funktionen under regnearkets funktionsklasse til at hente dataene for den leverede opslagsværdi.
Eksempel 2
Brug variabler til LOOKUP-funktion
Ved hjælp af variabler kan vi også nå resultater. Nedenfor er eksempelkoden for opslagsfunktion med variabler.
Kode:
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 kræver ikke nødvendigvis, at resultatsøjlen er til højre for opslagsværdien.
- Omfangslængden for både opslagsvektoren og resultatvektoren skal være den samme.
- Mere vigtigt er det, at vi skal angive et kolonneindeksnummer, som er nødvendigt for VLOOKUP-funktionen.