Excel VBA-opslagsfunktion

I excel har vi brugt VLookup mange gange. Det er der i Indsæt-funktionen, der bruges til at hente eller kortlægge enhver form for værdier, vi ønsker. Tilsvarende har vi i VBA Lookup- applikation, der fungerer som det samme som Excel Vlookup. VBA Lookup har en fleksibel datastruktur, da den kan bruges til at kortlægge enhver form for værdi fra enhver form for tabellarray. Dette betyder, at hvis vi anvender Excel Vlookup, vil vi ikke være i stand til at kortlægge de højre kolonnedata med venstre kolonnedata i en syntaks. Mens der i VBA-opslag er der ingen korrekt kortlægningsstruktur. Vi skal bare følge syntaksen for VBA Lookup. Hvis syntaks er tilfreds og indrammet korrekt, kan vi hente værdierne fra højre eller venstre side af tabellen.

Syntaks for VBA-opslagsfunktion:

Hvor,

  • Arg1 = Værdi vi ønsker at slå op.
  • Arg2 = Område for kolonnerne eller tabellen, hvorfra vi vil søge op.
  • Arg3 = Resultat som boolsk eller vektor.

Hvordan bruges opslagsfunktionen i Excel VBA?

Vi lærer, hvordan man bruger Lookup-funktionen i Excel ved hjælp af VBA-koden.

Du kan downloade denne VBA Lookup Excel-skabelon her - VBA Lookup Excel Template

VBA-opslag - eksempel # 1

Der er mange måder at skrive VBA-opslagskoden på. I dette eksempel ser vi en enkel måde at skrive VBA-opslag på. Til dette har vi et datasæt som vist nedenfor. Denne tabel har antallet af løb og racernes gennemsnitlige hastighed. Nu bruger vi disse data til at anvende VBA-opslag i nedenstående tabel med de blå overskrifter i A8 til B8. Følg nedenstående trin for dette:

Trin 1: Åbn et modul fra fanen Indsæt menu som vist nedenfor.

Trin 2: Skriv delproceduren for udført arbejde i det modul. Her har vi valgt navnet som VBA Lookup.

Kode:

 Sub VBA_Lookup1 () End Sub 

Trin 3: Vælg outputcellen, hvor vi har brug for at se opslagets værdi. Her er denne celle B9, hvor vi vil søge efter værdien vedrørende navnet “Aniket”, som er vores opslagværdi.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Værdi End Sub 

Trin 4: Nu bruger vi Arbejdsarkfunktion og vælger Opslagsfunktion indbygget på listen som vist nedenfor.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Værdi = WorksheetFunction.Lookup End Sub 

Trin 5: Når vi har valgt funktionen Opslag, vil vi se Arg1, Arg2 og Arg3 i dens syntaks. Til dette sætter vi først vores opslag værdiområde, der er celle A9 i stedet for Arg1.

Kode:

 Sub VBA_Lookup1 () Range ("B9"). Værdi = WorksheetFunction.Lookup (Range ("A9"). Værdi, End Sub 

Trin 6: Vælg nu opslagsområdet, der er fra celle A2: A5, for Arg2.

Kode:

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

Trin 7: Til sidst skal du vælge opslagsværdiområder, der er fra B2 til B5 i stedet for Arg3.

Kode:

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

Trin 8: Kør koden ved at trykke på F5-tasten eller ved at klikke på Play-knappen, der findes under menubåndet. Antallet af løb, der er udført med navnet “Aniket”, er pr. Opslag 7.

VBA-opslag - eksempel # 2

Der er en anden måde at anvende en Lookup-funktion i Excel VBA. Til dette vil vi bruge de samme data, som vi har set i eksempel-1. Følg nedenstående trin for dette:

Trin 1: Skriv underproceduren til VBA Lookup, som vist nedenfor.

Kode:

 Sub VBA_Lookup2 () End Sub 

Trin 2: Definer en variabel som streng, der vil blive brugt til at kortlægge kolonnen Navn.

Kode:

 Sub VBA_Lookup2 () Dim Navn Som String End Sub 

Trin 3: I den definerede variabel Navn anvender vi Vlookup- applikationen som vist nedenfor.

Kode:

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

Trin 4: Lad os sige, at vores opslagværdi kaldes "Ashwani" fra tabellen.

Kode:

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

Trin 5: Og området 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 

Trin 6: Nu, hvis vi vil se gennemsnitshastigheden for rytter “Ashwani” her, er vi nødt til at kortlægge cellen i opslagssyntaxen, der er på 3. sted.

Kode:

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

Trin 7: Nu for at se gennemsnitshastigheden for rytter “Ashwani”, kan vi bruge MsgBox og Debug Print begge. Men at bruge Debug Print er langt bedre end MsgBox. Så Tildel debug Print med en defineret variabel Navn.

Kode:

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

Trin 8: Åbn nu Umiddelbart vindue, der er der i menuen fane Vis for at se output.

Trin 9: Kompilér koden, og kør den. Vi vil se, Lookup har kortlagt med Ashwani-hastighed og hentet det i det umiddelbare vindue som 86 .

Kode:

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

VBA-opslag - eksempel # 3

Følg nedenstående trin for at bruge opslagsfunktionen i Excel VBA:

Trin 1: Skriv underproceduren til VBA Lookup, som vist nedenfor.

Kode:

 Sub VBA_Lookup3 () End Sub 

Trin 2: Angiv en variabel for Navn som streng som vist nedenfor.

Kode:

 Sub VBA_Lookup3 () Dim Navn Som String End Sub 

Trin 3: Tildel nu det navn, der ønsker at slå op til den definerede variabel Navn som vist nedenfor.

Kode:

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

Trin 4: Brug nu et hvilket som helst ord til at definere og bruge Opslag kan sige LUp . Og i det bruger Arbejdsarkfunktion med Vlookup som vist nedenfor.

Kode:

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

Trin 5: Brug nu den samme Vlookup-syntaks, som vi bruger i Excel. I Arg1 sættes Name-variablen, vælg derefter områdematrixen og kig efter op-værdien, som vi ønsker at 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 "Middelhastighed er:" & LUp End Sub 

Trin 6: Brug nu MsgBox til at se output.

Kode:

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

Trin 7: Kompilér og kør koden. For navnet “Deepinder” vil vi se, at gennemsnitshastigheden kommer som 88. Mens den samme værdi er angivet 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 "Middelhastighed er:" & LUp End Sub 

Fordele ved Excel VBA-opslagsfunktion

  • Det er lige så let at bruge og implementere som at anvende almindelige excel Vlookup-formler i Excel.
  • Vi kan bruge enhver form for rækkevidde og matrix i VBA Lookup.
  • Der er meget få eller ingen begrænsninger, når du anvender VBA-opslag.

Ting at huske

  • Vi kan bruge Lookup i stedet for Vlookup i enhver situation.
  • Område for opslagvektor og resultatvektor skal være den samme.
  • Når applikationen er afsluttet, skal du gemme filen som makroaktiveringsformat for at bevare koden.
  • Der er ikke noget obligatorisk krav om at placere resultatsøjlen hver gang for at være til højre for søgningsværdien.

Anbefalede artikler

Dette er en guide til VBA Lookup-funktionen. Her diskuterer vi, hvordan man bruger Lookup-funktionen i Excel VBA sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA-samling (eksempler)
  2. VBA IF-erklæringer | Excel-skabeloner
  3. Sådan bruges Excel VBA sorteringsfunktion?
  4. VBA While Loop (eksempler med Excel-skabelon)
  5. VBA-miljø

Kategori: