Excel VBA Lookup-funktion

I Excel har vi använt VLookup många gånger. Det är där i Insert-funktionen som används för att hämta eller kartlägga alla slags värden vi vill ha. På liknande sätt har vi i VBA Lookup- applikation, som fungerar lika som Excel Vlookup. VBA Lookup har en flexibel datastruktur eftersom den kan användas för att kartlägga alla typer av värden från alla typer av tabelluppsättningar. Detta innebär att om vi använder Excel Vlookup, kommer vi inte att kunna kartlägga höger kolumndata med vänster kolumndata i en syntax. Medan VBA Lookup finns det ingen korrekt kartläggningsstruktur. Vi behöver bara följa syntaxen för VBA Lookup. Om syntaxen är nöjd och korrekt inramad kan vi hämta värdena från höger eller vänster sida av tabellen.

Syntax för VBA Lookup-funktion:

Var,

  • Arg1 = Värde vi vill leta upp.
  • Arg2 = Område för kolumner eller tabell där vi vill leta upp.
  • Arg3 = Resultat som booleskt eller vektor.

Hur använder jag uppslagningsfunktionen i Excel VBA?

Vi kommer att lära dig hur du använder uppslagningsfunktionen i Excel med hjälp av VBA-koden.

Du kan ladda ner denna VBA Lookup Excel-mall här - VBA Lookup Excel Mall

VBA-uppslag - exempel # 1

Det finns många sätt att skriva VBA-uppslagskoden. I det här exemplet ser vi ett enkelt sätt att skriva VBA Lookup. För detta har vi en datauppsättning som visas nedan. Den här tabellen har antalet tävlingar och medelhastigheten för åkarna. Nu kommer vi att använda dessa data för att tillämpa VBA Lookup i tabellen nedan med de blå rubrikerna i A8 till B8. För detta följer du stegen nedan:

Steg 1: Öppna en modul från Infoga-menyfliken som visas nedan.

Steg 2: Skriv delproceduren för utfört arbete i den modulen. Här har vi valt namnet som VBA Lookup.

Koda:

 Sub VBA_Lookup1 () Slut Sub 

Steg 3: Välj utgångscellen där vi behöver se uppslagningsvärdet. Här är cellen B9 där vi kommer att leta upp med värdet för namnet “Aniket” som är vårt uppslagningsvärde.

Koda:

 Sub VBA_Lookup1 () Range ("B9"). Value End Sub 

Steg 4: Nu kommer vi att använda kalkylfunktionen och välja uppslagningsfunktion inbyggd i listan som visas nedan.

Koda:

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

Steg 5: När vi väljer uppslagningsfunktionen kommer vi att se Arg1, Arg2 och Arg3 i sin syntax. För det kommer vi först att placera vårt uppslagvärdesintervall som är cell A9 i stället för Arg1.

Koda:

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

Steg 6: Nu för Arg2, välj uppslagningsområdet från cell A2: A5.

Koda:

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

Steg 7: Välj äntligen uppslagningsvärden som är från B2 till B5 istället för Arg3.

Koda:

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

Steg 8: Kör koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen som finns under menyfältet. Vi kommer att se, enligt Lookup, antalet tävlingar med namnet "Aniket" är 7.

VBA-uppslag - exempel # 2

Det finns ett annat sätt att tillämpa en uppslagningsfunktion i Excel VBA. För detta kommer vi att använda samma data som vi har sett i exempel 1. För detta följer du stegen nedan:

Steg 1: Skriv delproceduren för VBA Lookup, som visas nedan.

Koda:

 Sub VBA_Lookup2 () Slut Sub 

Steg 2: Definiera en variabel som sträng som kommer att användas för att kartlägga kolumnen Namn.

Koda:

 Sub VBA_Lookup2 () Dim Name As String End Sub 

Steg 3: I den definierade variabeln Namn kommer vi att använda Vlookup- applikationen som visas nedan.

Koda:

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

Steg 4: Låt oss säga att vårt uppslagningsvärde heter "Ashwani" från tabellen.

Koda:

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

Steg 5: Och intervallet är från A1 till C6 från ark1.

Koda:

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

Steg 6: Nu om vi vill se medelhastigheten för ryttaren "Ashwani" här, måste vi kartlägga cellen i Lookta-syntaxen som ligger på 3: e plats.

Koda:

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

Steg 7: Nu för att se medelhastigheten för ryttaren “Ashwani” kan vi använda MsgBox och Debug Print båda. Men att använda Debug Print är mycket bättre än MsgBox. Så Tilldela felsökning med en definierad variabel Namn.

Koda:

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

Steg 8: Öppna nu Omedelbart fönster som finns där på menyfliken Visa för att se utgången.

Steg 9: Kompilera koden och kör den. Vi kommer att se, Lookup har kartlagt med Ashwani hastighet och hämtat det till omedelbart fönster som 86 .

Koda:

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

VBA-uppslag - exempel # 3

Följ nedanstående steg för att använda uppslagningsfunktionen i Excel VBA:

Steg 1: Skriv delproceduren för VBA Lookup, som visas nedan.

Koda:

 Sub VBA_Lookup3 () Slut Sub 

Steg 2: Förklara en variabel för Name as String som visas nedan.

Koda:

 Sub VBA_Lookup3 () Dim Name As String End Sub 

Steg 3: Tilldela nu det namn som vill slå upp till den definierade variabeln Namn som visas nedan.

Koda:

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

Steg 4: Använd nu alla ord för att definiera och använda Lookup kan säga LUp . Och i den använd kalkylfunktionen med Vlookup som visas nedan.

Koda:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "Medelhastighet är:" & LUp End Sub 

Steg 5: Använd nu samma Vlookup-syntax som vi använder i Excel. I Arg1 sätter du variabeln Namn, välj sedan intervallmatrisen och leta efter uppvärdet som vi vill få. Här är den kolumnen 3 som visas nedan.

Koda:

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

Steg 6: Använd nu MsgBox för att se utgången.

Koda:

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

Steg 7: Kompilera och kör koden. För namnet “Deepinder” kommer vi att se medelhastigheten som 88. Medan samma värde ges för namnet Deepinder i tabellen.

Koda:

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

Fördelar med Excel VBA Lookup-funktion

  • Det är lika enkelt att använda och implementera som att använda vanliga excel Vlookup-formler i Excel.
  • Vi kan använda valfri sortiment och matris i VBA Lookup.
  • Det finns väldigt få eller inga begränsningar när du använder VBA Lookup.

Saker att komma ihåg

  • Vi kan använda Lookup istället för Vlookup i alla situationer.
  • Område för uppslagningsvektor och resultatvektor bör vara desamma.
  • När applikationen är klar sparar du filen som makroaktiverat format för att behålla koden.
  • Det finns inget obligatoriskt krav att sätta resultatkolumnen varje gång för att vara till höger om uppslagningsvärdet.

Rekommenderade artiklar

Detta är en guide till VBA Lookup-funktionen. Här diskuterar vi hur man använder Lookup-funktionen i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA-samling (exempel)
  2. VBA IF-uttalanden | Excel-mallar
  3. Hur använder jag Excel VBA sorteringsfunktion?
  4. VBA While Loop (exempel med Excel-mall)
  5. VBA Environ

Kategori: