Excel VBA LOOKUP-functie
Lookup is de functie die ons helpt om de gegevens uit de hoofdtabel op te halen op basis van een enkele opzoekwaarde. De VBA LOOKUP-functie vereist geen datastructuur zoals die, voor de LOOKUP-functie maakt het niet uit of de resultaatkolom zich rechts of links van de opzoekwaarde bevindt, maar het kan de gegevens comfortabel ophalen.
Dit werkt op dezelfde manier als de functie VERT.ZOEKEN, maar wat nog belangrijker is, dit is flexibel in een gegevensstructuur. Wanneer we flexibel in de gegevensstructuur zeggen, betekent dit dat VERT.ZOEKEN alle waarden rechts van een opzoekwaarde in de hoofdtabel nodig heeft, en alles wat overblijft aan de opzoekwaarde VERT.ZOEKEN kan het niet vinden.

Syntaxis
Als je al naar de LOOKUP-formule hebt gezocht in de VBA-editor, ben ik er zeker van dat je gek bent geworden, want er is een formule genaamd LOOKUP in VBA.
De reden waarom het niet standaard beschikbaar is, omdat ZOEKEN geen VBA-functie is, maar een werkbladfunctie. Dus om de functie ZOEKEN te gebruiken, moeten we eerst de werkbladfunctie in de VBA-klasse gebruiken.

- Arg 1 betekent opzoekwaarde
- Arg 2 is onze opzoekvector, dwz het bereik van onze opzoekwaardekolom
- Arg 3 is onze resultaatvector.
Hoe de VBA-opzoekfunctie te gebruiken? (Voorbeelden)
Voorbeeld 1
We hebben de volgende gegevens waaruit we de gemiddelde prijs van een bepaalde productnaam willen halen met behulp van de opzoekfunctie in VBA Excel.

Gebruik de volgende code om de gemiddelde prijs van mobiele accessoires te krijgen.
Stap 1: Start de subprocedure in VBA.
Code:
Sub Lookup_Example1 () End Sub

Stap 2: Ik heb het resultaat nodig in de F3-cel. Dus mijn code is Range ("F3"). Value =.
Code:
Sub Lookup_Example1 () Bereik ("F3") Waarde End Sub

Stap 3: Zoals ik al zei, konden we niet meteen toegang krijgen tot de functie ZOEKEN. Gebruik dus eerst de klasse Worksheet Function.

Stap 4: Op het moment dat we de klasse Worksheet Function toepassen, kunnen we alle beschikbare formules met deze klasse in VBA zien, dus selecteer LOOKUP in deze lijst.

Stap 5: Met werkbladfuncties in VBA zien we geen duidelijke argumenten van de formule. Hier betekent Arg 1 opzoekwaarde. Onze opzoekwaarde bevindt zich in de cel E3, dus schrijf de code als Bereik ("E3"). Waarde.
Code:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value End Sub

Stap 6: Arg 2 is onze opzoekvector, dwz het bereik van onze opzoekwaardekolom. In dit voorbeeld is ons opzoekvectorbereik van B3 tot B10.
Code:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Stap 7: Arg 3 is onze resultaatvector. We hebben het resultaat nodig uit de kolom Gem. Prijs, dus de resultaatvector is van bereik C3 tot C10.
Code:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), Range ("C3: C10")) End Sub

Ok, we zijn klaar met de VBA-codering.
Laten we de code uitvoeren, en we zouden het resultaat in cel F3 moeten krijgen.

Op deze manier kunnen we de LOOKUP-functie onder de werkbladfunctieklasse gebruiken om de gegevens van de geleverde lookup-waarde op te halen.
Voorbeeld 2
Gebruik variabelen voor de functie ZOEKEN
Met behulp van variabelen kunnen we ook tot resultaten komen. Hieronder ziet u de voorbeeldcode van de opzoekfunctie met variabelen.
Code:
Sub Lookup_Example2 () Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range ("F3") Set LookupValueCell = Range ("E3") Set LookupVector = Range ("B3: B10") Set ResultVector = Range ("C3: C10") ResultCell = WorksheetFunction.Lookup (LookupValueCell, LookupVector, ResultVector) End Sub

Hoewel het er lang uitziet, geeft het een goede blootstelling aan variabelen in VBA. In plaats van alle waarden rechtstreeks aan de formule te leveren, hebben we variabelen gedeclareerd en een reeks bereiken en waarden eraan toegewezen.

Variabelen declareren en de verwijzing naar die variabelen instellen, is altijd een goede gewoonte in elke codeertaal.
Dingen om te onthouden
- ZOEKEN is een alternatieve functie voor VERT.ZOEKEN.
- LOOKUP vereist niet noodzakelijk dat de resultaatkolom rechts van de opzoekwaarde staat.
- De bereiklengte van zowel de opzoekvector als de resultaatvector moet hetzelfde zijn.
- Wat nog belangrijker is, we moeten een kolomindexnummer opgeven, wat nodig is voor de functie VERT.ZOEKEN.