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

Forumthread: Zellinhalt mit einem String vergleichen

Zellinhalt mit einem String vergleichen
27.09.2016 16:57:43
Peter
Hallo Zusammen,
wie müsste der Befehl aussehen wenn man einen Zellinhalt mit einem Teiltext in einer Zelle vergleichen möchte?
Bsp.:
Zellinhalt: MD xxx 234
if cells(1,1)=instr("xxx", "") then
Vielen Dank für Eure Hilfe
LG, Peter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt mit einem String vergleichen
27.09.2016 17:03:32
Nepumuk
Hallo,
so:
If InStr(Cells(1,1).Value, "xxx") > 0 Then

Gruß
Nepumuk
Zellinhalt mit einem String vergleichen
27.09.2016 17:07:13
Michael
Hi Peter,
das geht so:
Sub test()
If InStr(Cells(1, 1), "xxx") > 0 Then MsgBox "gefunden" Else MsgBox "nicht gefunden"
End Sub
Falls Du sehr viele Zellen nach sehr wenigen Treffern durchsuchen willst, kannst Du auch .find nehmen: zeichne einfach mal Excels Suchfunktion mit dem Makrorekorder auf.
Schöne Grüße,
Michael
Anzeige
AW: Zellinhalt mit einem String vergleichen
28.09.2016 09:01:28
Peter
Guten Morgen,
vielen Dank für Eure Antworten.
Das war die Synatax die ich gesucht habe.
LG, Peter
AW: Zellinhalt mit einem String vergleichen
28.09.2016 21:00:59
Daniel
alternativ auch:
if Cells(1, 1).Value Like "*xxx*" then Msgbox "gefunden"
gruß Daniel

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt mit einem String vergleichen in Excel


Schritt-für-Schritt-Anleitung

Um einen Zellinhalt in Excel mit einem String zu vergleichen, kannst Du die InStr-Funktion nutzen. Diese Funktion gibt die Position eines Teilstrings innerhalb eines Strings zurück. Hier ist ein einfaches Beispiel, wie Du dies in VBA umsetzen kannst:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").

  3. Kopiere den folgenden Code in das Modul:

    Sub test()
        If InStr(Cells(1, 1).Value, "xxx") > 0 Then
            MsgBox "gefunden"
        Else
            MsgBox "nicht gefunden"
        End If
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um den Vergleich durchzuführen.


Häufige Fehler und Lösungen

  • Fehler: Der Vergleich liefert unerwartete Ergebnisse.

    • Lösung: Stelle sicher, dass der Zellinhalt als String behandelt wird. Verwende Cells(1, 1).Value anstelle von Cells(1, 1).
  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Überprüfe, ob das Makro aktiviert ist und Du die richtigen Berechtigungen hast.

Alternative Methoden

Eine alternative Methode zum Vergleich von Zelleninhalten ist die Verwendung des Like-Operators. Dies funktioniert gut, wenn Du nach Mustern suchen möchtest. Hier ein Beispiel:

If Cells(1, 1).Value Like "*xxx*" Then
    MsgBox "gefunden"
End If

Dieser Befehl prüft, ob "xxx" irgendwo im Zellinhalt vorkommt.


Praktische Beispiele

  1. Teilstring überprüfen: Um zu prüfen, ob eine Zelle den Text "Test" enthält:

    If InStr(Cells(2, 1).Value, "Test") > 0 Then
        MsgBox "Text gefunden!"
    End If
  2. Zellinhalt vergleichen: Um den Inhalt von zwei Zellen zu vergleichen:

    If Cells(1, 1).Value = Cells(2, 1).Value Then
        MsgBox "Die Inhalte sind gleich."
    Else
        MsgBox "Die Inhalte sind unterschiedlich."
    End If

Tipps für Profis

  • VBA-Funktionen: Nutze Trim und LCase/UCase, um sicherzustellen, dass Vergleiche nicht von Leerzeichen oder Groß-/Kleinschreibung beeinflusst werden.

    If LCase(Trim(Cells(1, 1).Value)) = LCase(Trim("xxx")) Then
        MsgBox "Inhalt stimmt überein."
    End If
  • Leistungsoptimierung: Wenn Du viele Zellen vergleichen möchtest, erwäge die Verwendung von .Find, um die Suche zu beschleunigen.


FAQ: Häufige Fragen

1. Wie kann ich den Vergleich mit mehreren Zellen durchführen?
Du kannst eine Schleife verwenden, um durch die Zellen zu iterieren und den Vergleich durchzuführen.

2. Was kann ich tun, wenn ich nach ähnlichen Texten suchen möchte?
Verwende die Like-Operator oder implementiere eine Fuzzy-Logik in VBA, um Ähnlichkeiten zu bewerten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige