Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur genaue übereinstimmung finden

Forumthread: Nur genaue übereinstimmung finden

Nur genaue übereinstimmung finden
08.12.2019 11:16:53
Silke
Hallo Leute,
beim folgenden Marko hat Torsten geholfen.
Nur leider ist der Beitrag ins Archive gerutscht.
https://www.herber.de/bbs/user/133675.xls
Das Marko sucht, Wenn man eine Bestellnummer in C eingibt in den Spalten F&G nach der Fundstelle (es gibt teilweise zwei Bestellnummern für ein Produkt) und gibt die gefundenen Werte wie Bezeichnung Preis in in der Spalte B aus.
Das Problem ist, dass auch bei nicht genauer Übereinstimmung was ausgibt.
Gebe ich z.B "400" ein wird "DHL Paket bis 3 Kg" ausgegeben.
Hier müsste "nicht vorhanden ausgegeben" werden.
Kann mir jemand weiterhelfen?
LG und einen schönen zweiten Advent
Silke
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur genaue übereinstimmung finden
08.12.2019 11:23:23
Hajo_Zi
Hallo Silke,
Set Suche = Range("F4:G" & lngLastRow).Find(Target, LookIn:=xlValues, XlLookAt:=xlWhole)

AW: Nur genaue übereinstimmung finden
08.12.2019 11:32:26
Silke
Hallo,
ich habe es eingegeben.
Aber es kommt eine Fehlermeldung "Fehler beim kompilieren benanntes Argument nicht gefunden"
LG
Silke
Anzeige
AW: Nur genaue übereinstimmung finden
08.12.2019 11:34:31
Matthias
Hi
Das heißt lookat:=xlWhole
ohne X davor!
Gruß Matthias
Vielen Lieben Dank .. es funtkioniert 1A .. owT
08.12.2019 12:07:32
Silke
ben.def. Format: Standard;-Standard;0
08.12.2019 12:01:04
WF
.
Anzeige
war falsch angehängt
08.12.2019 12:04:47
WF
.
;
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. 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
  4. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige