Spalte nach Teilstring durchsuchen mit VBA
Schritt-für-Schritt-Anleitung
Um in Excel mit VBA nach Teilstrings in einer bestimmten Spalte zu suchen und die Treffer in einer anderen Spalte auszugeben, kannst Du folgenden Code verwenden:
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Klicke im Menü auf
Einfügen und wähle Modul, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Option Explicit
Public Sub test()
Dim arr
Dim out
With Sheets("Tabelle1")
arr = .Range("A1:A1000")
arr = WorksheetFunction.Transpose(arr)
out = Filter(arr, .Range("C2").Value, True, 1) '0 für A<>a, 1 für A=a
If UBound(out) > -1 Then
.Range("E1").Resize(UBound(out) + 1) = WorksheetFunction.Transpose(out)
End If
End With
End Sub
- Schließe den VBA-Editor.
- Gehe zurück zu Deinem Excel-Blatt und gebe den Teilstring, nach dem Du suchen möchtest, in Zelle C2 ein.
- Führe das Makro aus, um die Ergebnisse in Spalte E anzuzeigen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du keine VBA-Lösung nutzen möchtest, kannst Du auch die Funktion FILTER in Excel verwenden (verfügbar in Excel 365):
- Gebe in Zelle E1 folgende Formel ein:
=FILTER(A1:A1000, ISNUMBER(SEARCH(C2, A1:A1000)), "Keine Treffer")
Diese Formel sucht nach dem Teilstring in Spalte A und gibt alle Treffer in Spalte E aus.
Praktische Beispiele
- Beispiel 1: Suche nach dem Teilstring "Max" in einer Liste von Namen in Spalte A. Wenn in A1 "Max Mustermann" steht und Du "Max" in C2 eingibst, wird "Max Mustermann" in Spalte E ausgegeben.
- Beispiel 2: Suche nach der Zahl "123" in einer Liste von Codes oder IDs. Wenn in A10 "ABC123XYZ" steht und Du "123" in C2 eingibst, wird "ABC123XYZ" in Spalte E angezeigt.
Tipps für Profis
- Du kannst das Makro so anpassen, dass es automatisch ausgeführt wird, wenn Du einen Wert in Zelle C2 eingibst. Dafür musst Du das Worksheet-Change-Ereignis verwenden.
- Experimentiere mit der
SEARCH-Funktion in Excel, um die Suche flexibler zu gestalten, z.B. um nur nach bestimmten Zeichenfolgen zu suchen.
FAQ: Häufige Fragen
1. Wie kann ich das Makro mit der Entertaste ausführen?
Du kannst das Makro nicht direkt mit der Entertaste ausführen. Überlege, eine Schaltfläche in Dein Excel-Blatt einzufügen, die das Makro ausführt, wenn Du darauf klickst.
2. Funktioniert dieser Code in allen Excel-Versionen?
Der bereitgestellte VBA-Code funktioniert in den meisten Versionen von Excel, die VBA unterstützen. Die FILTER-Formel funktioniert jedoch nur in Excel 365 oder Excel 2021.