Verwendung von VLOOKUP in VBA (4 Möglichkeiten)

  • Teile Das
Hugh West

Um bestimmte Werte oder Elemente zu suchen oder anzuzeigen, bietet MS Excel verschiedene Funktionen. VLOOKUP ist eine von ihnen. Sie hilft uns bei der Suche nach gewünschten Daten in einem beliebigen Datensatz. Sie erlaubt uns anzugeben, ob wir nach einer exakten Übereinstimmung oder einer ungefähren Übereinstimmung suchen wollen. Neben der Verwendung dieser Funktion in der Excel-Formel können wir sie auch in VBA-Code verwenden. In diesem Artikel werden wir sehen, wie wir diese Funktion verwenden können VLOOKUP-Funktion in VBA.

Arbeitsbuch für die Praxis herunterladen

VLOOKUP in VBA.xlsm

4 Möglichkeiten zur Verwendung von VLOOKUP in VBA

1. manuelles Suchen von Daten mit VLOOKUP in VBA

Wir haben einen Datensatz mit Angestellteninformationen mit ihrer ID, ihrem Namen, ihrer Abteilung, ihrem Eintrittsdatum und ihrem Gehalt. Unsere Aufgabe ist es nun, die Angestellteninformationen anhand ihrer ID manuell herauszufinden. In diesem Abschnitt werden wir nur das Gehalt des Angestellten anhand seiner ID herausfinden.

Schritt 1: Wählen Sie Visual Basic unter Entwickler Registerkarte (Shortcut Alt + F11 )

Schritt 2: Dann wird ein Fenster erscheinen. Wählen Sie Modul Option unter einfügen. Taste

Schritt 3: Schreiben Sie nun den folgenden Code in die VBA-Konsole und drücken Sie die ausführen. Schaltfläche (Shortcut F5 )

Code:

 Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID:" & Employee_id & " Salary " & "$" & salary End Sub 

Schritt 4: Nun erscheint eine Pop-up-Meldung mit den folgenden Informationen

Lesen Sie mehr: VLOOKUP zum Suchen von Text in Excel (4 einfache Möglichkeiten)

2. mit VLOOKUP in VBA Daten mit Eingabe suchen

Sehen wir uns nun an, wie wir Daten aus Tabellen oder Bereichen mit Hilfe von Eingaben suchen oder extrahieren können. Wie in der Abbildung dargestellt, werden wir den Namen der eingegebenen ID aus der Tabelle mit den Mitarbeiterinformationen herausfinden.

Schritt 1: Öffnen Sie zunächst die VBA-Konsole, indem Sie die Schritte 1 bis 2 befolgen

Schritt 2: Geben Sie nun den folgenden Code in das VBA-Fenster ein

Code:

 Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub 

Schritt 3: Geben Sie nun eine beliebige ID in die Zelle D13 und führen Sie den Code aus

Schritt 4: Die Name die unter der ID gespeichert ist, wird angezeigt

Lesen Sie mehr: 10 bewährte Praktiken mit VLOOKUP in Excel

Ähnliche Lektüre

  • VLOOKUP funktioniert nicht (8 Gründe & Lösungen)
  • INDEX MATCH vs. VLOOKUP Funktion (9 Beispiele)
  • VLOOKUP mit mehreren Kriterien in Excel verwenden (6 Methoden + Alternativen)
  • Excel VLOOKUP zum Suchen des letzten Wertes in einer Spalte (mit Alternativen)
  • Excel VLOOKUP, um mehrere Werte vertikal zurückzugeben

3 Informationen mit Eingabefeld unter Verwendung von VLOOKUP in VBA suchen

Sehen wir uns an, wie wir mit dem VBA-Eingabefeld Daten suchen können. Für die Suche müssen wir die VLOOKUP Auch hier ist der Datensatz derselbe, aber der Suchansatz ist ein anderer. Hier besteht unsere Aufgabe darin, das Gehalt des Mitarbeiters durch Eingabe der ID und der Abteilung zu ermitteln.

Schritt 1: Öffnen Sie zunächst das VBA-Fenster, indem Sie die Schritte 1 bis 2 befolgen

Schritt 2: Geben Sie nun den folgenden Code in die VBA-Konsole ein und ausführen. es

Code:

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i End Sub 

Schritt 3: Damit wird eine kombinierte Zeichenfolge mit ID und Abteilung in der ersten Spalte gedruckt

Schritt 4: Gehen Sie nun erneut in die VBA-Konsole, geben Sie den vollständigen Code ein und führen Sie ihn erneut aus

Code:

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Geben Sie die ID des Mitarbeiters ein") department = InputBox("Geben Sie die Abteilung des Mitarbeiters ein") lookup_val = ID & "_" & department OnError GoTo Message check: Gehalt = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("Das Gehalt des Mitarbeiters beträgt $" & Gehalt) Message: If Err.Number = 1004 Then MsgBox ("Mitarbeiterdaten nicht vorhanden") End If End Sub 

Code Erläuterung

  • Erstens, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Mit diesem Code speichern wir die verketteten Werte von ID und Abteilung in der Spalte A.
  • lookup_val = ID & "_" & Abteilung Damit wird festgelegt, dass der Nachschlagewert ID und Abteilung sein wird.
  • Gehalt = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) Hier speichern wir das Gehalt des entsprechenden Mitarbeiters in einer Variablen namens Gehalt
  • If Err. Number = 1004 Then Dies ist eine Bedingungsprüfung. Wir prüfen, ob die Fehlernummer 1004 ist oder nicht. In Excel VBA bedeutet 1004 Code, dass der gesuchte Wert nicht gefunden, gelöscht oder entfernt wurde.

Schritt 5: Jetzt erscheint ein Pop-up-Fenster wie dieses Bild. eingeben ID und Abteilung sequenziell

Schritt 6: Nach Drücken der Taste Ok Schaltfläche wird die endgültige Ausgabe angezeigt

Schritt 7: Wenn Sie die falsche ID oder Abteilung, wird die folgende Meldung angezeigt

Lesen Sie mehr: VLOOKUP mit mehreren Bedingungen in Excel (2 Methoden)

4. mit Hilfe von VLOOKUP in VBA Informationen über eine Schaltfläche suchen

Nun werden wir sehen, wie wir Informationen mit Hilfe einer Schaltfläche abrufen können, anstatt den Code manuell auszuführen. Auch hier wird der Datensatz derselbe sein wie oben.

Schritt 1: Wählen Sie zunächst die einfügen. unter der Option Entwickler Registerkarte

Schritt 2: Wählen Sie dann die Schaltfläche Option von einfügen.

Schritt 3: Platzieren Sie die Schaltfläche nach Ihren Wünschen und geben Sie den Namen der Schaltfläche an

Schritt 4: Klicken Sie nun mit der rechten Maustaste auf die Schaltfläche und wählen Sie Makro zuweisen

Schritt 5: Erstellen Sie nun ein neues Makro und nennen Sie es vlookup_funktion_4

Schritt 6: Schreiben Sie den folgenden Code in die VBA-Konsole und ausführen. der Code

Code:

 Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub 

Schritt 6: Geben Sie nun eine beliebige ID ein und drücken Sie die Taste

Lesen Sie mehr: Verwendung von VBA VLOOKUP zum Auffinden von Werten aus einem anderen Arbeitsblatt in Excel

Dinge zum Merken

Häufige Irrtümer Wenn sie zeigen
1004 Fehler Wenn der VBA vlookup-Code den lookup_value nicht finden kann, wird ein Fehler 1004 ausgegeben.
VLOOKUP-Funktion in VBA nicht gefunden Die Vlookup-Funktion kann in Excel VBA mit WorksheetFunction aufgerufen werden.
Fehlerbehandlung Der Fehler in der vlookup-Funktion kann mit einer siehe Anweisung, wenn sie einen Fehler zurückgibt.

Schlussfolgerung

Dies sind einige Möglichkeiten zur Verwendung der VLOOKUP Funktion in VBA in Excel. Ich habe alle Methoden mit ihren jeweiligen Beispielen gezeigt, aber es kann viele andere Iterationen geben. Ich habe auch die Grundlagen der verwendeten Funktionen besprochen. Wenn Sie eine andere Methode haben, um dies zu erreichen, dann teilen Sie sie uns bitte mit.

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.