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 TemplateVBA-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 -
- VBA-samling (eksempler)
- VBA IF-uttalelser | Excel-maler
- Hvordan bruke Excel VBA sorteringsfunksjon?
- VBA While Loop (eksempler med Excel-mal)
- VBA-miljø