Excel VBA-opzoekfunctie

In Excel hebben we VLookup vele malen gebruikt. Het bevindt zich in de functie Invoegen die wordt gebruikt om elke gewenste waarde op te halen of toe te wijzen. Op dezelfde manier hebben we in VBA de Lookup- applicatie, die hetzelfde werkt als Excel Vlookup. VBA Lookup heeft een flexibele datastructuur omdat het kan worden gebruikt om elke soort waarde van elke soort tabelarray in kaart te brengen. Dit betekent dat als we Excel Vlookup toepassen, we de gegevens in de rechterkolom niet kunnen koppelen aan gegevens in de linkerkolom in één syntaxis. Terwijl er in VBA Lookup geen goede structuur is voor het in kaart brengen. We moeten alleen de syntaxis van VBA Lookup volgen. Als de syntaxis is voldaan en correct is omkaderd, kunnen we de waarden aan de rechter- of linkerkant van de tabel ophalen.

Syntaxis van VBA Lookup-functie:

Waar,

  • Arg1 = Waarde die we willen opzoeken.
  • Arg2 = bereik van de kolommen of tabel van waar we willen opzoeken.
  • Arg3 = Resultaat als Boolean of Vector.

Hoe de opzoekfunctie in Excel VBA te gebruiken?

We zullen leren hoe de opzoekfunctie in Excel te gebruiken met behulp van de VBA-code.

U kunt deze VBA Lookup Excel-sjabloon hier downloaden - VBA Lookup Excel-sjabloon

VBA Lookup - Voorbeeld # 1

Er zijn veel manieren om de VBA Lookup-code te schrijven. In dit voorbeeld zien we een eenvoudige manier om de VBA Lookup te schrijven. Hiervoor hebben we een gegevensset zoals hieronder weergegeven. Deze tabel heeft het aantal races en de gemiddelde snelheid van de racers. Nu zullen we deze gegevens gebruiken om VBA Lookup in de onderstaande tabel toe te passen met de blauwe headers in A8 tot B8. Volg hiervoor de onderstaande stappen:

Stap 1: Open een module via het menutabblad Invoegen zoals hieronder wordt weergegeven.

Stap 2: Schrijf de subprocedure voor uitgevoerd werk in die module. Hier hebben we de naam gekozen als VBA Lookup.

Code:

 Sub VBA_Lookup1 () End Sub 

Stap 3: Selecteer de uitvoercel waar we de opzoekwaarde moeten zien. Hier is die cel B9 waar we zullen opzoeken met de waarde betreffende de naam "Aniket", die onze opzoekwaarde is.

Code:

 Sub VBA_Lookup1 () Bereik ("B9"). Waarde End Sub 

Stap 4: Nu gebruiken we de werkbladfunctie en selecteren we de opzoekfunctie ingebouwd in de lijst zoals hieronder weergegeven.

Code:

 Sub VBA_Lookup1 () Bereik ("B9"). Waarde = WorksheetFunction.Lookup End Sub 

Stap 5: Zodra we de functie Opzoeken hebben geselecteerd, zien we de Arg1, Arg2 en Arg3 in de syntaxis. Daarvoor zullen we eerst ons Lookup-waardenbereik, cel A9, in plaats van Arg1 plaatsen.

Code:

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

Stap 6: Selecteer nu voor Arg2 het opzoekbereik uit cel A2: A5.

Code:

 Sub VBA_Lookup1 () Bereik ("B9"). Waarde = WorksheetFunction.Lookup (bereik ("A9"). Waarde, bereik ("A2: A5"), End Sub 

Stap 7: Selecteer ten slotte zoekbereikbereiken die van B2 tot B5 zijn in plaats van Arg3.

Code:

 Sub VBA_Lookup1 () Bereik ("B9"). Waarde = WorksheetFunction.Lookup (Bereik ("A9"). Waarde, Bereik ("A2: A5"), Bereik ("B2: B5")) Sub Sub 

Stap 8: Voer de code uit door op F5 te drukken of door op de knop Afspelen onder het menulint te klikken. We zullen zien, volgens Lookup, het aantal races met de naam "Aniket" is 7.

VBA Lookup - Voorbeeld # 2

Er is een andere manier om een ​​opzoekfunctie in Excel VBA toe te passen. Hiervoor zullen we dezelfde gegevens gebruiken die we in voorbeeld-1 hebben gezien. Volg hiervoor de onderstaande stappen:

Stap 1: Schrijf de subprocedure voor VBA Lookup, zoals hieronder weergegeven.

Code:

 Sub VBA_Lookup2 () Einde Sub 

Stap 2: Definieer een variabele als String die zal worden gebruikt om de kolom Naam toe te wijzen.

Code:

 Sub VBA_Lookup2 () Dimnaam als tekenreeks einde Sub 

Stap 3: In de gedefinieerde variabele Naam zullen we de Vlookup- toepassing toepassen zoals hieronder getoond.

Code:

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

Stap 4: Laten we zeggen dat onze opzoekwaarde in de tabel "Ashwani" wordt genoemd.

Code:

 Sub VBA_Lookup2 () Dimnaam als tekenreeksnaam = Application.VLookup ("Ashwani", End Sub 

Stap 5: En het bereik is van A1 tot C6 van Sheet1.

Code:

 Sub VBA_Lookup2 () Dimnaam als tekenreeksnaam = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), End Sub 

Stap 6: Als we nu de gemiddelde snelheid van rijder "Ashwani" hier willen zien, moeten we de cel in de Lookup-syntaxis op de derde plaats brengen.

Code:

 Sub VBA_Lookup2 () Dimnaam als tekenreeksnaam = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) End Sub 

Stap 7: Nu om de gemiddelde snelheid van rijder "Ashwani" te zien, kunnen we MsgBox en Debug Print beide gebruiken. Maar het gebruik van Debug Print is veel beter dan MsgBox. Wijs dus Debug Print toe met de gedefinieerde variabele Naam.

Code:

 Sub VBA_Lookup2 () Dimnaam als tekenreeksnaam = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Naam End Sub 

Stap 8: Open nu Direct venster dat zich op het menutabblad Beeld bevindt om de uitvoer te bekijken.

Stap 9: compileer de code en voer deze uit. We zullen zien dat Lookup met snelheid van Ashwani in kaart is gebracht en dat in het venster Direct als 86 heeft opgehaald.

Code:

 Sub VBA_Lookup2 () Dimnaam als tekenreeksnaam = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Naam End Sub 

VBA Lookup - Voorbeeld # 3

Volg de onderstaande stappen om de opzoekfunctie in Excel VBA te gebruiken:

Stap 1: Schrijf de subprocedure voor VBA Lookup, zoals hieronder weergegeven.

Code:

 Sub VBA_Lookup3 () Einde Sub 

Stap 2: Declareer een variabele voor Naam als String zoals hieronder getoond.

Code:

 Sub VBA_Lookup3 () Dimnaam als tekenreeks einde Sub 

Stap 3: Wijs nu de naam toe die u wilt opzoeken aan de gedefinieerde variabele Naam zoals hieronder weergegeven.

Code:

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

Stap 4: Gebruik nu een willekeurig woord om te definiëren en gebruik Lookup laten we zeggen LUp . En gebruik daarbij de werkbladfunctie met Vlookup zoals hieronder getoond.

Code:

 Sub VBA_Lookup3 () Dimnaam als tekenreeksnaam = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "Gemiddelde snelheid is:" & LUp End Sub 

Stap 5: Gebruik nu dezelfde Vlookup-syntaxis die we in Excel gebruiken. Zet in Arg1 de variabele Name, selecteer vervolgens de bereikmatrix en zoek naar de waarde die we willen krijgen. Hier is die kolom 3 zoals hieronder weergegeven.

Code:

 Sub VBA_Lookup3 () Dimnaam als tekenreeksnaam = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "Gemiddelde snelheid is:" & LUp End Sub 

Stap 6: Gebruik nu MsgBox om de uitvoer te zien.

Code:

 Sub VBA_Lookup3 () Dimnaam als tekenreeksnaam = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "Gemiddelde snelheid is:" & LUp End Sub 

Stap 7: compileer en voer de code uit. We zullen zien dat voor de naam "Deepinder" de gemiddelde snelheid 88 wordt. Terwijl dezelfde waarde wordt gegeven voor de naam Deepinder in de tabel.

Code:

 Sub VBA_Lookup3 () Dimnaam als tekenreeksnaam = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "Gemiddelde snelheid is:" & LUp End Sub 

Voordelen van Excel VBA Lookup-functie

  • Het is net zo gemakkelijk te gebruiken en te implementeren als het toepassen van reguliere Excel-Vlookup-formules in Excel.
  • We kunnen elke soort bereik en matrix gebruiken in VBA Lookup.
  • Er zijn zeer weinig of geen beperkingen tijdens het toepassen van VBA Lookup.

Dingen om te onthouden

  • We kunnen Lookup in plaats van Vlookup in elke situatie gebruiken.
  • Bereik voor opzoekvector en resultaatvector moeten hetzelfde zijn.
  • Eenmaal klaar met de applicatie, sla het bestand op als Macro Enable formaat om de code te behouden.
  • Het is niet verplicht om de resultaatkolom telkens rechts van de opzoekwaarde te plaatsen.

Aanbevolen artikelen

Dit is een handleiding voor de VBA Lookup-functie. Hier bespreken we hoe u de opzoekfunctie in Excel VBA kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA-collectie (voorbeelden)
  2. VBA IF-verklaringen | Excel-sjablonen
  3. Hoe de Excel VBA-sorteerfunctie te gebruiken?
  4. VBA While Loop (voorbeelden met Excel-sjabloon)
  5. VBA Environ

Categorie: