Genaue Übereinstimmung in Excel VBA finden
Schritt-für-Schritt-Anleitung
Um in Excel VBA eine genaue Übereinstimmung mit der .Find
Methode zu erreichen, kannst Du die folgenden Schritte ausführen:
-
Öffne den VBA-Editor: Drücke ALT + F11
in Excel.
-
Füge ein neues Modul hinzu: Klicke auf Einfügen
> Modul
.
-
Gib den folgenden Code ein:
Sub SucheBestellnummer()
Dim Suche As Range
Dim lngLastRow As Long
Dim Target As String
Target = Range("C1").Value ' Annahme: Bestellnummer in Zelle C1
lngLastRow = Cells(Rows.Count, "F").End(xlUp).Row
Set Suche = Range("F4:G" & lngLastRow).Find(Target, LookIn:=xlValues, LookAt:=xlWhole)
If Not Suche Is Nothing Then
Cells(1, 2).Value = "Gefunden: " & Suche.Offset(0, 1).Value ' Ausgabe in Zelle B1
Else
Cells(1, 2).Value = "Nicht vorhanden" ' Ausgabe in Zelle B1
End If
End Sub
-
Führe das Makro aus: Drücke F5
oder klicke auf Ausführen
.
Mit diesem Code wird die eingegebene Bestellnummer in der Zelle C1 in den Spalten F und G nach einer exakten Übereinstimmung (LookAt:=xlWhole) gesucht.
Häufige Fehler und Lösungen
-
Fehlermeldung: "Fehler beim Kompilieren: Benanntes Argument nicht gefunden"
- Lösung: Stelle sicher, dass Du
LookAt:=xlWhole
korrekt schreibst. Das X
ist nicht notwendig, es sollte einfach LookAt:=xlWhole
sein.
-
Kein Ergebnis, obwohl die Bestellnummer vorhanden ist
- Lösung: Überprüfe, ob die Werte in den Zellen F und G die exakte Übereinstimmung aufweisen, und dass die Zelle C1 richtig beschrieben ist.
Alternative Methoden
Wenn Du nach anderen Methoden suchst, um eine genaue Übereinstimmung in Excel zu finden, kannst Du auch die VLOOKUP
-Funktion verwenden:
=VLOOKUP(C1, F:G, 2, FALSE)
Diese Formel sucht die Bestellnummer in C1 in den Spalten F und G und gibt den entsprechenden Wert zurück, wenn eine exakte Übereinstimmung gefunden wird.
Praktische Beispiele
Angenommen, Du hast folgende Daten in den Spalten F und G:
F |
G |
400 |
DHL Paket |
401 |
UPS Paket |
402 |
FedEx Paket |
Wenn Du in Zelle C1 "400" eingibst und das Makro ausführst, wird "Gefunden: DHL Paket" in B1 angezeigt.
Falls Du "500" eingibst, wird "Nicht vorhanden" in B1 angezeigt.
Tipps für Profis
- Nutze
Option Explicit
am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.
- Für eine bessere Fehlerbehandlung kannst Du
On Error Resume Next
verwenden, um sicherzustellen, dass Dein Code auch bei unerwarteten Fehlern weiterläuft.
- Experimentiere mit dem
Find
-Objekt, um zusätzliche Optionen wie LookIn:=xlFormulas
zu nutzen, wenn Du nach Formeln suchst.
FAQ: Häufige Fragen
1. Was ist der Unterschied zwischen LookAt:=xlWhole
und LookAt:=xlPart
?
LookAt:=xlWhole
sucht nach einer exakten Übereinstimmung, während LookAt:=xlPart
auch Teilübereinstimmungen findet.
2. Kann ich die Find
-Methode auch für andere Datentypen verwenden?
Ja, die Find
-Methode kann für Text, Zahlen und sogar Datumswerte verwendet werden. Achte jedoch darauf, dass der Datentyp der gesuchten Werte übereinstimmt.