Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.Find genauer Wortvergleich

Forumthread: .Find genauer Wortvergleich

.Find genauer Wortvergleich
19.08.2004 13:17:12
alex
Hi,
ich hoffe, jemand kann mir helfen (Thema: Excel VBA).
Ich mache ein Find auf einen Range. Jedoch sollen nur Zellen, die exakt den Suchbegriff enthalten, gefunden werden.
In meinem Fall bringt jedoch
Set Cell = .Find("connect", LookIn:=xlValues)
auch Zellen, die "no connect" enthalten, zurück.
Der Range ist: With Worksheets(Wsh_Backend).Columns(COL_STATUS_S)
Leider bietet die VBA-Hilfe zum Find nicht viel.
Es gibt einen Parameter "SearchFormat", zu dem ich leider nix finden kann, vielleicht hilft der hier ?
Danke für jede Hilfe !!
Grüße, ALEX
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .Find genauer Wortvergleich
EtoPHG
Hallo Alex,
Hänge den Parameter MatchCase=True an. Standard ist False also
.Find("connect", LookIn:=xlValues,MatchCase=True)
Gruss Hansueli
AW: .Find genauer Wortvergleich
19.08.2004 13:44:01
alex
Hallo Hansueli,
danke, Dein Tip war schon mal die halbe Miete. Ich habe noch LookAt:=xlWhole angefügt.
Andere Frage: weiß jemand eine gute Excel VBA Hilfeseite, wo zB. auch solche Dinge wie die Parameter der Find-Methode erklärt sind ?
Grüße, ALEX
Anzeige
AW: .Find genauer Wortvergleich
EtoPHG
Hallo Alex,
Wenn die Excel VBA Hilfe installiert ist, findest Du eine ganze Abhandlung über die Find Methode, inkl. aller Parameter
Du kannst dann mit F1 im VBA Editor auf ein Schlüsselwort klicken und die Hilfe erscheint.
Gruss Hansueli
AW: .Find genauer Wortvergleich
19.08.2004 13:57:35
Alex
Hallo Hansueli,
ja, ich glaube, mit der Hilfe arbeite ich. Aber die Erklärung zur Find-Methode finde ich schon ziemlich dürftig.
Stimmt schon, daß die einzelnen Parameter aufgeführt sind, aber was genau jetzt xlWhole eigentlich bedeutet, steht nirgendwo, auch nicht im Objektkatalog.
Aber hier das Forum scheint ja echt gut zu sein. Mittels Suche werde ich wohl auch hier ettliches finden können.
Grüße, ALEX
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Excel VBA: Mit .Find genaue Übereinstimmungen finden


Schritt-für-Schritt-Anleitung

Um mit Excel VBA eine exakte Übereinstimmung beim Suchen von Werten in einem Range zu erzielen, kannst du die .Find-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject", wähle "Einfügen" und dann "Modul".

  3. Nutze folgenden Code:

    Sub ExactMatchFind()
        Dim Cell As Range
        Dim SearchRange As Range
        Set SearchRange = Worksheets("Wsh_Backend").Columns("COL_STATUS_S")
    
        Set Cell = SearchRange.Find(What:="connect", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
    
        If Not Cell Is Nothing Then
            MsgBox "Gefunden in: " & Cell.Address
        Else
            MsgBox "Nicht gefunden!"
        End If
    End Sub
  4. Erklärung der Parameter:

    • What: definiert, wonach gesucht wird.
    • LookIn: legt fest, dass in den Werten gesucht wird.
    • LookAt: mit xlWhole wird nach einer genauen Übereinstimmung gesucht.
    • MatchCase: mit True wird die Groß- und Kleinschreibung berücksichtigt.

Häufige Fehler und Lösungen

  • Fehler: Das Ergebnis zeigt auch Zellen mit ähnlichen Wörtern an (z.B. "no connect").

    • Lösung: Stelle sicher, dass du LookAt:=xlWhole und MatchCase:=True verwendest, um eine genaue Übereinstimmung zu gewährleisten.
  • Fehler: .Find gibt Nothing zurück.

    • Lösung: Überprüfe, ob der Suchbegriff korrekt ist und ob der Bereich die gesuchte Zelle enthält.

Alternative Methoden

Wenn du eine exakte Übereinstimmung ohne die .Find-Methode durchführen möchtest, kannst du auch die Cells.Find-Methode verwenden. Sie funktioniert ähnlich:

Sub AlternativeFind()
    Dim Cell As Range
    Set Cell = Cells.Find(What:="connect", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)

    If Not Cell Is Nothing Then
        MsgBox "Gefunden in: " & Cell.Address
    Else
        MsgBox "Nicht gefunden!"
    End If
End Sub

Praktische Beispiele

  1. Suchbegriff in einer bestimmten Spalte finden:

    Set SearchRange = Worksheets("Tabelle1").Columns("A")
  2. Suchformat verwenden: Wenn du spezielle Formatierungen berücksichtigen willst, kannst du den SearchFormat-Parameter nutzen:

    Set Cell = SearchRange.Find(What:="connect", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True, SearchFormat:=True)

Tipps für Profis

  • Nutze die Find-Methode innerhalb von Schleifen, um mehrere Vorkommen eines Suchbegriffs zu finden.
  • Dokumentiere deine VBA-Projekte gut, um die Nutzung von .Find und anderen Methoden klar zu machen.
  • Experimentiere mit den Parametern, um die Suche zu optimieren, z.B. durch das Anpassen von LookIn und LookAt.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen LookAt:=xlWhole und LookAt:=xlPart?
xlWhole sucht nur nach Zellen, die exakt mit dem Suchbegriff übereinstimmen, während xlPart auch Teilausdrücke findet.

2. Wie kann ich die Suche nach Groß- und Kleinschreibung anpassen?
Verwende den Parameter MatchCase. Setze ihn auf True, um die Groß- und Kleinschreibung zu berücksichtigen.

3. Gibt es eine Möglichkeit, die Suche auf mehrere Bereiche auszuweiten?
Ja, du kannst mehrere Bereiche in einer Schleife durchlaufen oder mehrere Find-Aufrufe in Kombination verwenden, um alle möglichen Übereinstimmungen zu erfassen.

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