EXCEL - XLookup in VBA mit definierter Range
Inhaltsverzeichnis
Die Fragestellung
Du möchtest in VBA die Funktion XLOOKUP
verwenden, um einen Wert in einer definierten Range zu suchen und das entsprechende Ergebnis zurückzugeben.
Erläuterung des Problems {#erläuterung-des-problems}
Die XLOOKUP
-Funktion ist eine moderne Alternative zu VLOOKUP
und HLOOKUP
in Excel, die es ermöglicht, in einer Spalte oder Zeile nach einem Wert zu suchen und ein Ergebnis aus einer anderen Spalte oder Zeile zurückzugeben. In VBA gibt es keine direkte Entsprechung zu XLOOKUP
, aber du kannst die Application.WorksheetFunction
-Methode verwenden, um Excel-Funktionen in VBA zu nutzen.
Lösung des Problems {#lösung-des-problems}
Hier ist ein Beispiel, wie du XLOOKUP
in VBA mit einer definierten Range verwenden kannst:
Sub UseXLookup()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' Anpassen an den Namen deines Arbeitsblatts
Dim searchRange As Range
Dim returnRange As Range
Dim searchValue As Variant
Dim result As Variant
' Definiere die Such- und Rückgabebereiche
Set searchRange = ws.Range("A2:A10") ' Anpassen an deinen Suchbereich
Set returnRange = ws.Range("B2:B10") ' Anpassen an deinen Rückgabebereich
' Setze den Wert, nach dem gesucht werden soll
searchValue = "GesuchterWert" ' Anpassen an den gesuchten Wert
' Verwende XLOOKUP, um den Wert zu suchen und das Ergebnis zurückzugeben
On Error Resume Next ' Fehlerbehandlung, falls kein Ergebnis gefunden wird
result = Application.WorksheetFunction.XLookup(searchValue, searchRange, returnRange)
On Error GoTo 0 ' Deaktiviere die Fehlerbehandlung
' Überprüfe, ob ein Ergebnis gefunden wurde
If IsError(result) Then
MsgBox "Der Wert wurde nicht gefunden."
Else
MsgBox "Der gefundene Wert ist: " & result
End If
End Sub
Um dieses Makro zu verwenden:
- Drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Wähle
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Kopiere den oben stehenden Code in das Modul.
- Passe die Range-Adressen und den Suchwert im Code an deine Bedürfnisse an.
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Führe das Makro
UseXLookup
aus, indem du ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Anwendungsbeispiele aus der Praxis
- Datenabgleich: Suche nach Artikelnummern in einer Liste und gib die entsprechenden Preise zurück.
- Datenvalidierung: Überprüfe, ob ein bestimmter Wert in einer Datenbank vorhanden ist, und gib zusätzliche Informationen dazu zurück.
Tipps
XLOOKUP
ist nur in Excel für Microsoft 365 und Excel 2019 verfügbar. Stelle sicher, dass du eine dieser Versionen verwendest.
- Verwende
On Error Resume Next
, um Fehler zu behandeln, falls der gesuchte Wert nicht gefunden wird.
Verwandte Themenbereiche
- Fehlerbehandlung in VBA
- Datenmanipulation und -suche in Excel
- Automatisierung von Lookups in VBA
Zusammenfassung
Die XLOOKUP
-Funktion kann in VBA über die Application.WorksheetFunction
-Methode genutzt werden, um in einer definierten Range nach einem Wert zu suchen und ein entsprechendes Ergebnis zurückzugeben. Dieses VBA-Beispiel zeigt, wie du XLOOKUP
in deinem Code implementieren kannst, um Daten effizient zu durchsuchen und zu verarbeiten.