VBA-oppslagsfunksjon - Hvordan bruke oppslagsfunksjon? (Eksempler)

Innholdsfortegnelse

Excel VBA LOOKUP-funksjon

Oppslag er funksjonen som hjelper oss å hente dataene fra hovedtabellen basert på en enkelt oppslagsverdi. VBA LOOKUP-funksjon krever ikke slik datastruktur, for LOOKUP-funksjon spiller det ingen rolle om resultatkolonnen er til høyre eller venstre for oppslagsverdien, men den kan fortsatt hente dataene komfortabelt.

Dette fungerer på samme måte som VLOOKUP-funksjonen, men enda viktigere, dette er fleksibelt i en datastruktur. Når vi sier fleksibel i datastrukturen, betyr det at VLOOKUP trenger alle verdiene til høyre for en oppslagsverdi i hovedtabellen, og alt som er igjen til oppslagsverdien VLOOKUP kan ikke finne den.

Syntaks

Hvis du allerede har søkt etter LOOKUP-formelen i VBA-editor, er jeg sikker på at du har blitt gal fordi det finnes en formel som heter LOOKUP i VBA.

Årsaken til at den ikke er tilgjengelig som standard fordi LOOKUP ikke er en VBA-funksjon, det er en regnearkfunksjon. Så for å bruke LOOKUP-funksjonen, må vi først bruke regnearkfunksjonen i VBA-klasse.

  • Arg 1 betyr oppslagsverdi
  • Arg 2 er oppslagsvektoren vår, dvs. området for oppslagsverdikolonnen
  • Arg 3 er vår resultatvektor.

Hvordan bruke VBA-oppslagsfunksjon? (Eksempler)

Eksempel 1

Vi har følgende data som vi ønsker å få gjennomsnittspris for et bestemt produktnavn ved hjelp av Lookup-funksjonen i VBA Excel.

For å få gjennomsnittsprisen for mobiltilbehør ved å bruke følgende kode.

Trinn 1: Start delprosedyren i VBA.

Kode:

Sub Lookup_Example1 () End Sub

Trinn 2: Jeg trenger resultatet i F3-cellen. Så koden min er Range ("F3"). Verdi =.

Kode:

Sub Lookup_Example1 () Range ("F3"). Verdi End Sub

Trinn 3: Som jeg sa, kunne vi ikke med en gang få tilgang til LOOKUP-funksjonen. Så først, bruk arbeidsarkets funksjonsklasse.

Trinn 4: I det øyeblikket vi bruker klassen Arbeidsarkfunksjon, kan vi se alle tilgjengelige formler med denne klassen i VBA, så velg LETNING fra denne listen.

Trinn 5: Med regnearkfunksjoner i VBA ser vi ikke klare argumenter for formelen. Her betyr Arg 1 oppslagsverdi. Oppslagsverdien vår er i cellen E3, så skriv koden som Range (“E3”).

Kode:

Sub Lookup_Example1 () Range ("F3"). Verdi = WorksheetFunction.Lookup (Range ("E3"). Value End Sub

Trinn 6: Arg 2 er oppslagsvektoren, dvs. området for oppslagsverdikolonnen. I dette eksemplet er oppslagsvektorområdet vårt fra B3 til B10.

Kode:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Trinn 7: Arg 3 er vår resultatvektor. Vi trenger resultatet fra kolonnen Gjennomsnittspris, 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

Ok, vi er ferdige med VBA-kodingen.

La oss kjøre koden, og vi skal få resultatet i celle F3.

Slik kan vi bruke LOOKUP-funksjonen under regnearkets funksjonsklasse for å hente dataene til den oppgitte oppslagsverdien.

Eksempel 2

Bruk variabler for LOOKUP-funksjon

Ved å bruke variabler kan vi også oppnå resultater. Nedenfor er eksempelkoden for oppslagsfunksjon 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 krever ikke nødvendigvis at resultatkolonnen skal være til høyre for oppslagsverdien.
  • Omfangslengden til både oppslagsvektoren og resultatvektoren skal være den samme.
  • Enda viktigere, vi må oppgi et kolonneindeksnummer, som er nødvendig for VLOOKUP-funksjonen.

Interessante artikler...