Inhaltsverzeichnis
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.xlsm4 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.