Zeichenfolge in einer Zelle suchen mit Excel VBA
Schritt-für-Schritt-Anleitung
Um eine Zeichenfolge in einer Zelle zu suchen und das Ergebnis in einer anderen Zelle auszugeben, kannst Du folgenden VBA-Code verwenden:
-
Öffne Excel und drücke ALT
+ F11
, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Sub ZeichenfolgeSuchen()
Dim zähler As Long
Dim letzteZeile As Long
letzteZeile = ActiveSheet.UsedRange.Rows.Count
For zähler = 1 To letzteZeile
If InStr(Cells(zähler, 1).Value, "DVD") > 0 Then
Cells(zähler, 2).Value = 1
Else
Cells(zähler, 2).Value = 0
End If
Next zähler
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Drücke ALT
+ F8
, wähle ZeichenfolgeSuchen
und klicke auf Ausführen
.
Dieser Code sucht die Zeichenfolge "DVD" in den Zellen der Spalte A und gibt in der entsprechenden Zelle der Spalte B den Wert 1 aus, wenn die Zeichenfolge gefunden wurde. Andernfalls wird 0 ausgegeben.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du nicht VBA verwenden möchtest, kannst Du auch die Excel-Funktion WENN
in Kombination mit SUCHEN
verwenden:
=WENN(ISTFEHLER(SUCHEN("DVD"; A1)); 0; 1)
Diese Formel prüft, ob "DVD" in A1 enthalten ist. Wenn ja, wird 1 ausgegeben; andernfalls 0. Ziehe die Formel nach unten, um sie auf andere Zellen anzuwenden.
Praktische Beispiele
Angenommen, Du hast in Spalte A die folgenden Werte:
A |
B |
COMMANDO / 1986 / DVD |
|
COMMANDO / 1986 / VHS |
|
COMMANDO / 1986 / BMAX |
|
Nach Ausführung des VBA-Codes oder der Formel in B1 und dem Herunterziehen der Formel erhältst Du:
A |
B |
COMMANDO / 1986 / DVD |
1 |
COMMANDO / 1986 / VHS |
0 |
COMMANDO / 1986 / BMAX |
0 |
Tipps für Profis
- Verwende
InStr
für die Suche nach Teilstrings, um flexibler zu sein.
- Nutze
Trim
um Leerzeichen zu entfernen, bevor Du den Inhalt der Zelle prüfst.
- Denke daran, dass VBA case-sensitive ist. Um dies zu vermeiden, kannst Du die Strings mit
UCase
oder LCase
vergleichen.
FAQ: Häufige Fragen
1. Wie kann ich den VBA-Code anpassen, um nach anderen Zeichenfolgen zu suchen?
Du kannst den Text "DVD" im Code durch jede andere Zeichenfolge ersetzen, die Du suchen möchtest.
2. Funktioniert dieser Code auch in Excel 365?
Ja, der VBA-Code funktioniert in allen Versionen von Excel, die VBA unterstützen, einschließlich Excel 365.
3. Kann ich mehrere Zeichenfolgen gleichzeitig suchen?
Ja, Du kannst zusätzliche If
-Bedingungen für andere Zeichenfolgen hinzufügen oder eine Schleife dafür verwenden.