VBA (Visual Basic for Applications) ist eine leistungsstarke Programmiersprache, mit der Sie sich wiederholende Aufgaben in Microsoft Excel automatisieren können. Eine Aufgabe ist die Durchführung einer VLOOKUP-Operation für einen Bereich von Zellen. In diesem Artikel zeigen wir Ihnen, wie Sie mit VBA eine VLOOKUP-Schleife mit einer IF-Anweisung ausführen.

Sehen wir uns zunächst kurz an, was VLOOKUP (SVERWEIS) bewirkt. SVERWEIS steht für „Vertical Lookup“ und wird verwendet, um nach einem Wert in der ersten Spalte eines Bereichs zu suchen und einen entsprechenden Wert aus einer bestimmten Spalte in derselben Zeile zurückzugeben. Die Syntax für SVERWEIS lautet wie folgt:

Vlookup Formel (SVERWEIS):

Vlook up Formula

lookup_value: Der Wert, nach dem in der ersten Spalte des Bereichs gesucht werden soll.
table_array: Hierbei handelt es sich um den Zellbereich, der die zu durchsuchenden Daten enthält.
col_index_num: Dies ist die Nummer der Spalte (beginnend bei 1), die den zurückzugebenden Wert beinhaltet.
range_lookup: Optional – Dieses Argument gibt an, ob die Suche ungefähr (TRUE) oder genau (FALSE) sein soll.

Sehen wir uns nun an, wie Sie mit VBA eine VLOOKUP-Schleife mit einer IF-Anweisung ausführen. Angenommen, Sie haben eine Reihe von Zellen, die Mitarbeiternamen in Spalte A und ihre entsprechenden Gehälter in Spalte B enthalten. Sie möchten eine VLOOKUP-Operation für jede Zelle in Spalte A durchführen und „Hohes Gehalt“ zurückgeben, wenn das entsprechende Gehalt in Spalte B höher ist als 50.000 $ und „niedriges Gehalt“, wenn es weniger als oder gleich 50.000 $ beträgt.

So können Sie dies mit VBA tun:

Sub VLOOKUP_Loop_With_IF_Statement()

Dim i As Long
Dim lastRow As Long
Dim salary As Variant

lastRow = Range("A" & Rows.Count).End(xlUp).Row \'Find the last row of data in column A

For i = 2 To lastRow \'Loop through each row of data, starting from row 2 (assuming there are headers in row 1)
    salary = Application.VLookup(Range("A" & i), Range("A:B"), 2, False) \'Perform the VLOOKUP operation
    If salary > 50000 Then
        Range("C" & i) = "High Salary" \'If the salary is greater than $50,000, enter "High Salary" in column C
    Else
        Range("C" & i) = "Low Salary" \'If the salary is less than or equal to $50,000, enter "Low Salary" in column C
    End If
Next i

End Sub

In diesem Beispiel wird der VLOOKUP-Vorgang für jede Zelle in Spalte A mithilfe der Application.VLookup-Methode ausgeführt. Das Ergebnis wird in der Variable „Gehalt“ gespeichert. Dann prüft eine IF-Anweisung, ob das Gehalt höher als 50.000 $ ist, und trägt „Hohes Gehalt“ in Spalte C ein, wenn dies der Fall ist, oder „Niedriges Gehalt“, wenn dies nicht der Fall ist.

Um diesen Code auszuführen, öffnen Sie den VBA-Editor, indem Sie Alt + F11 drücken, und fügen Sie den Code in ein neues Modul ein. Kehren Sie dann zu Ihrem Excel-Arbeitsblatt zurück und drücken Sie Alt + F8, um das Dialogfeld Makros zu öffnen. Wählen Sie das Makro VLOOKUP_Loop_With_IF_Statement aus und klicken Sie auf Ausführen.

Fazi

Zusammenfassend lässt sich sagen, dass VBA ein leistungsstarkes Tool zur Automatisierung sich wiederholender Aufgaben in Excel sein kann, einschließlich der Durchführung einer SVERWEIS-Schleife mit einer IF-Anweisung. Mit ein wenig Übung können Sie VBA verwenden, um benutzerdefinierte Lösungen zu erstellen, die Ihren spezifischen Anforderungen entsprechen.

Benötigen Sie einen VBA Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).

Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen