Excel VBA oppslagfunksjon

I Excel har vi brukt VLookup mange ganger. Det er der i Sett inn-funksjonen som brukes til å hente eller kartlegge alle slags verdier vi ønsker. Tilsvarende har vi i VBA Lookup- applikasjon, som fungerer som det samme som Excel Vlookup. VBA Lookup har en fleksibel datastruktur da den kan brukes til å kartlegge alle slags verdier fra alle slags tabellarray. Dette betyr at hvis vi bruker Excel Vlookup, vil vi ikke kunne kartlegge høyre kolonnedata med venstre kolonnedata i en syntaks. Mens det i VBA Lookup ikke er noen riktig struktur for kartlegging. Vi trenger bare å følge syntaksen til VBA Lookup. Hvis syntaksen er fornøyd og riktig innrammet, kan vi hente verdiene fra høyre eller venstre side av tabellen.

Syntaks for VBA Lookup-funksjon:

Hvor,

  • Arg1 = Verdi vi vil slå opp.
  • Arg2 = Område for kolonnene eller tabellen der vi ønsker å slå opp.
  • Arg3 = Resultat som boolsk eller vektor.

Hvordan bruke oppslagsfunksjonen i Excel VBA?

Vi lærer hvordan du bruker Lookup-funksjonen i Excel ved å bruke VBA-koden.

Du kan laste ned denne VBA Lookup Excel Template her - VBA Lookup Excel Template

VBA-oppslag - eksempel # 1

Det er mange måter å skrive VBA Lookup-kode på. I dette eksemplet vil vi se en enkel måte å skrive VBA-oppslag på. For dette har vi et datasett som vist nedenfor. Denne tabellen har antall løp og gjennomsnittsfarten til syklistene. Nå bruker vi disse dataene til å bruke VBA-oppslag i tabellen nedenfor med de blå topptekstene i A8 til B8. Følg trinnene nedenfor for å gjøre dette:

Trinn 1: Åpne en modul fra Sett inn menyfanen som vist nedenfor.

Trinn 2: Skriv delprosessen for utført arbeid i den modulen. Her har vi valgt navnet som VBA Lookup.

Kode:

 Sub VBA_Lookup1 () Slutt Sub 

Trinn 3: Velg utdatacellen der vi trenger å se oppslagsverdien. Her er cellen B9 hvor vi skal slå opp med verdien angående navnet “Aniket” som er vår oppslagsverdi.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Verdi Slutt Sub 

Trinn 4: Nå vil vi bruke regnearkfunksjon og velge Oppslagsfunksjon innebygd i listen som vist nedenfor.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Verdi = WorksheetFunction.Lookup End Sub 

Trinn 5: Når vi har valgt Lookup-funksjonen, vil vi se Arg1, Arg2 og Arg3 i sin syntaks. For det vil vi først sette vårt oppslagsverdiområde som er celle A9 i stedet for Arg1.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Verdi = WorksheetFunction.Lookup (Range ("A9"). Verdi, End Sub 

Trinn 6: Nå for Arg2, velg oppslagsområdet som er fra celle A2: A5.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Verdi = WorksheetFunction.Lookup (Range ("A9"). Verdi, Range ("A2: A5"), End Sub 

Trinn 7: Til slutt velger du oppslagverdiområder som er fra B2 til B5 i stedet for Arg3.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Verdi = WorksheetFunction.Lookup (Range ("A9"). Verdi, Range ("A2: A5"), Range ("B2: B5")) End Sub 

Trinn 8: Kjør koden ved å trykke på F5-tasten eller ved å klikke på Play-knappen under menylinjen. I henhold til oppslag vil antall løp utført med navnet "Aniket" være 7.

VBA-oppslag - eksempel # 2

Det er en annen måte å bruke en oppslagfunksjon i Excel VBA. For dette vil vi bruke de samme dataene som vi har sett i eksempel-1. Følg trinnene nedenfor for å gjøre dette:

Trinn 1: Skriv underprosessen for VBA Lookup, som vist nedenfor.

Kode:

 Sub VBA_Lookup2 () Slutt Sub 

Trinn 2: Definer en variabel som streng som skal brukes til å kartlegge Navn-kolonnen.

Kode:

 Sub VBA_Lookup2 () Dim Navn Som String End Sub 

Trinn 3: I den definerte variabelen Navn, bruker vi Vlookup- applikasjonen som vist nedenfor.

Kode:

 Sub VBA_Lookup2 () Dim Name As String Name = Application.VLookup (Slutt Sub 

Trinn 4: La oss si at vår oppslagsverdi heter "Ashwani" fra tabellen.

Kode:

 Sub VBA_Lookup2 () Dim Name As String Name = Application.VLookup ("Ashwani", Slutt Sub 

Trinn 5: Og rekkevidden er fra A1 til C6 fra ark1.

Kode:

 Sub VBA_Lookup2 () Dim Name As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), End Sub 

Trinn 6: Hvis vi nå vil se gjennomsnittshastigheten til rytteren “Ashwani” her, må vi kartlegge cellen i oppslagssyntaxen som ligger på 3. plass.

Kode:

 Sub VBA_Lookup2 () Dim Name As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) End Sub 

Trinn 7: Nå for å se gjennomsnittshastigheten til syklisten “Ashwani”, kan vi bruke MsgBox og Debug Print begge. Men å bruke Debug Print er mye bedre enn MsgBox. Så Tildel feilsøkingsutskrift med definert variabel Navn.

Kode:

 Sub VBA_Lookup2 () Dim Name As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Trinn 8: Åpne nå Umiddelbart vindu som er der i Vis- menyfanen for å se utdataene.

Trinn 9: Sett sammen koden og kjør den. Vi får se, Lookup har kartlagt med Ashwani-hastigheten og hentet det inn i det umiddelbare vinduet som 86 .

Kode:

 Sub VBA_Lookup2 () Dim Name As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

VBA-oppslag - eksempel # 3

Følg trinnene nedenfor for å bruke oppslagsfunksjonen i Excel VBA:

Trinn 1: Skriv underprosessen for VBA Lookup, som vist nedenfor.

Kode:

 Sub VBA_Lookup3 () Slutt Sub 

Trinn 2: Angi en variabel for Navn som streng som vist nedenfor.

Kode:

 Sub VBA_Lookup3 () Dim Navn Som String End Sub 

Trinn 3: Tildel nå navnet som ønsker å slå opp til en definert variabel Navn som vist nedenfor.

Kode:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" Slutt Sub 

Trinn 4: Nå bruker du hvilket som helst ord for å definere og bruke Oppslag kan si LUp . Og i det bruker du regnearkfunksjon med Vlookup som vist nedenfor.

Kode:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "Gjennomsnittlig hastighet er:" & LUp End Sub 

Trinn 5: Bruk nå den samme Vlookup-syntaks som vi bruker i Excel. I Arg1 setter du variabelen Navn, velg deretter matrisen for rekkevidde og se etter oppverdien som vi ønsker å få. Her er kolonnen 3 som vist nedenfor.

Kode:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "Gjennomsnittlig hastighet er:" & LUp End Sub 

Trinn 6: Bruk nå MsgBox for å se utdataene.

Kode:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "Gjennomsnittlig hastighet er:" & LUp End Sub 

Trinn 7: Sett sammen og kjør koden. For navnet "Deepinder" vil vi se at gjennomsnittshastigheten kommer som 88. Mens den samme verdien er gitt for navnet Deepinder i tabellen.

Kode:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "Gjennomsnittlig hastighet er:" & LUp End Sub 

Fordeler med Excel VBA Lookup-funksjon

  • Det er like enkelt å bruke og implementere som å bruke vanlige Excel Vlookup-formler i Excel.
  • Vi kan bruke alle slags sortiment og matriser i VBA Lookup.
  • Det er svært få eller ingen begrensninger når du bruker VBA Lookup.

Ting å huske

  • Vi kan bruke Lookup i stedet for Vlookup i alle situasjoner.
  • Område for oppslagvektor og resultatvektor skal være den samme.
  • Når du har gjort applikasjonen, kan du lagre filen som makroaktiveringsformat for å beholde koden.
  • Det er ikke noe obligatorisk krav om å sette resultatspalten hver gang for å være til høyre for oppslagsverdien.

Anbefalte artikler

Dette er en guide til VBA Lookup-funksjonen. Her diskuterer vi hvordan du bruker Lookup-funksjonen i Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA-samling (eksempler)
  2. VBA IF-uttalelser | Excel-maler
  3. Hvordan bruke Excel VBA sorteringsfunksjon?
  4. VBA While Loop (eksempler med Excel-mal)
  5. VBA-miljø

Kategori: