Excel VBA LOOKUP-Funktion
Lookup ist die Funktion, mit der wir die Daten basierend auf einem einzelnen Lookup-Wert aus der Haupttabelle abrufen können. Die VBA LOOKUP-Funktion erfordert keine solche Datenstruktur. Für die LOOKUP-Funktion spielt es keine Rolle, ob sich die Ergebnisspalte rechts oder links vom Suchwert befindet. Sie kann die Daten dennoch bequem abrufen.
Dies funktioniert ähnlich wie die VLOOKUP-Funktion, ist jedoch in einer Datenstruktur flexibler. Wenn wir in der Datenstruktur von flexibel sprechen, bedeutet dies, dass VLOOKUP alle Werte rechts von einem Suchwert in der Haupttabelle benötigt und alles, was dem Suchwert VLOOKUP übrig bleibt, ihn nicht finden kann.

Syntax
Wenn Sie bereits im VBA-Editor nach der LOOKUP-Formel gesucht haben, sind Sie sicher verrückt geworden, weil es in VBA eine Formel namens LOOKUP gibt.
Der Grund, warum es standardmäßig nicht verfügbar ist, weil LOOKUP keine VBA-Funktion ist, sondern eine Arbeitsblattfunktion. Um die LOOKUP-Funktion verwenden zu können, müssen wir zuerst die Arbeitsblattfunktion in der VBA-Klasse verwenden.

- Arg 1 bedeutet Nachschlagewert
- Arg 2 ist unser Suchvektor, dh der Bereich unserer Suchwertspalte
- Arg 3 ist unser Ergebnisvektor.
Wie verwende ich die VBA-Suchfunktion? (Beispiele)
Beispiel 1
Wir haben die folgenden Daten, aus denen wir den Durchschnittspreis eines bestimmten Produktnamens mithilfe der Suchfunktion in VBA Excel abrufen möchten.

Verwenden Sie den folgenden Code, um den Durchschnittspreis für mobiles Zubehör zu erhalten.
Schritt 1: Starten Sie die Unterprozedur in VBA.
Code:
Sub Lookup_Example1 () End Sub

Schritt 2: Ich brauche das Ergebnis in der F3-Zelle. Mein Code ist also Range ("F3"). Value =.
Code:
Sub Lookup_Example1 () Range ("F3"). Value End Sub

Schritt 3: Wie gesagt, wir konnten nicht sofort auf die LOOKUP-Funktion zugreifen. Verwenden Sie also zuerst die Arbeitsblattfunktionsklasse.

Schritt 4: Sobald wir die Worksheet Function-Klasse anwenden, werden alle verfügbaren Formeln mit dieser Klasse in VBA angezeigt. Wählen Sie daher LOOKUP aus dieser Liste aus.

Schritt 5: Bei Arbeitsblattfunktionen in VBA werden keine eindeutigen Argumente der Formel angezeigt. Hier bedeutet Arg 1 Nachschlagewert. Unser Suchwert befindet sich in der Zelle E3. Schreiben Sie den Code also als Bereich („E3“). Wert.
Code:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value End Sub

Schritt 6: Arg 2 ist unser Suchvektor, dh der Bereich unserer Suchwertspalte. In diesem Beispiel reicht unser Suchvektorbereich von B3 bis B10.
Code:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Schritt 7: Arg 3 ist unser Ergebnisvektor. Wir benötigen das Ergebnis aus der Spalte Durchschnittspreis, daher liegt der Ergebnisvektor im Bereich von C3 bis C10.
Code:
Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), Range ("C3: C10")) End Sub

Ok, wir sind mit der VBA-Codierung fertig.
Lassen Sie uns den Code ausführen, und wir sollten das Ergebnis in Zelle F3 erhalten.

Auf diese Weise können wir die LOOKUP-Funktion unter der Arbeitsblattfunktionsklasse verwenden, um die Daten des angegebenen Suchwerts abzurufen.
Beispiel 2
Verwenden Sie Variablen für die LOOKUP-Funktion
Mit Variablen können wir auch Ergebnisse erzielen. Unten finden Sie den Beispielcode der Suchfunktion mit Variablen.
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

Obwohl es langwierig aussieht, bietet es eine gute Exposition gegenüber Variablen in VBA. Anstatt alle Werte direkt an die Formel zu liefern, haben wir Variablen deklariert und ihnen eine Reihe von Bereichen und Werten zugewiesen.

Das Deklarieren von Variablen und das Festlegen des Verweises auf diese Variablen ist in jeder Codierungssprache immer eine gute Vorgehensweise.
Dinge, an die man sich erinnern sollte
- LOOKUP ist eine alternative Funktion zu VLOOKUP.
- LOOKUP erfordert nicht unbedingt, dass sich die Ergebnisspalte rechts vom Suchwert befindet.
- Die Bereichslänge sowohl des Suchvektors als auch des Ergebnisvektors sollte gleich sein.
- Noch wichtiger ist, dass wir eine Spaltenindexnummer angeben müssen, die für die VLOOKUP-Funktion erforderlich ist.