Für eine If-Bedingung will ich wissen, ob in einer bestimmmten zelle eine bestimmte zeichenkette vorkommen. Allerdings kann davor und hinter der gesuchten zeichenkette auch noch jede menge anderes stehen. Ist das irgendwie möglich?
Gruß&Dank
Alex
Um in Excel VBA zu prüfen, ob eine Zelle einen bestimmten Text enthält, kannst Du die InStr
Funktion oder die Like
Anweisung verwenden. Hier sind die Schritte, um dies zu erreichen:
Öffne den VBA-Editor:
ALT + F11
, um den VBA-Editor zu öffnen.Füge ein neues Modul hinzu:
Schreibe den Code:
Sub PrüfenObZelleTextEnthält()
Dim text As String
text = "abc" ' der gesuchte Text
If InStr(1, Cells(1, 1).Value, text) > 0 Then
MsgBox text & " kommt vor!"
End If
End Sub
ALT + F8
, wähle das Makro „PrüfenObZelleTextEnthält“ und klicke auf „Ausführen“.Fehler: "Typenkonflikt"
If Not IsError(Cells(1, 1).Value) Then
vor der InStr
-Funktion.Fehler: "VBA-Makro wird nicht gefunden"
.xlsm
).Eine alternative Methode ist die Verwendung von Excel-Formeln, wenn Du keinen VBA-Code verwenden möchtest. Hier ein Beispiel:
Verwende die Formel =SUCHEN("abc";A1)
:
Wenn Du eine Bedingung setzen möchtest:
WENN
verwenden:
=WENN(SUCHEN("abc";A1); "Text gefunden"; "Text nicht gefunden")
Hier sind einige praktische Beispiele, wie Du den Text in Zellen überprüfen kannst:
Beispiel 1: Prüfen, ob eine Zelle den Buchstaben „A“ enthält:
If InStr(1, Cells(1, 1).Value, "A") > 0 Then
MsgBox "Die Zelle enthält A!"
End If
Beispiel 2: Verwenden der Like
-Anweisung:
If Cells(1, 1).Value Like "*abc*" Then
MsgBox "abc ist enthalten!"
End If
Nutze die Trim
-Funktion, um unnötige Leerzeichen von den Zelleninhalten zu entfernen, bevor Du die Suche durchführst:
If InStr(1, Trim(Cells(1, 1).Value), "abc") > 0 Then
MsgBox "abc kommt vor!"
End If
Setze die Option Compare Text
am Anfang Deines Moduls, um die Groß- und Kleinschreibung bei der Überprüfung zu ignorieren.
1. Wie kann ich prüfen, ob eine Zelle mehrere Zeichen enthält?
Verwende die InStr
Funktion in einer Schleife oder kombiniere Like
mit Wildcards.
2. Was mache ich, wenn die Zelle mehrere Textteile enthält?
Du kannst die Split
-Funktion verwenden, um den Inhalt der Zelle in ein Array zu zerlegen und dann jedes Element zu überprüfen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen