Kleine Frage:
Wie soll der VBA Code aussehen, wenn ich sagen will: Suche in der Zelle A1, wo ein x-belibiger Text enthalten sein kann nach dem Stueckchen Text "Test"?
Viele Gruesse,
Alexej
Private Sub CommandButton1_Click()
Dim sSuch As String
Dim iPos As Integer
sSuch = "test"
On Error Resume Next
iPos = WorksheetFunction.Find(sSuch, [a1].Value, 1)
If Err > 0 Then
MsgBox "Nicht gefunden!"
Else
MsgBox "Suchstring zuerst an Position " & iPos & " gefunden"
End If
End Sub
Um in Excel einen Teiltext mithilfe von VBA zu suchen, folge diesen Schritten:
Öffne den VBA-Editor:
ALT + F11
, um den VBA-Editor zu öffnen.Füge ein neues Modul hinzu:
Einfügen
und wähle Modul
.Gib den folgenden Code ein:
Private Sub CommandButton1_Click()
Dim sSuch As String
Dim iPos As Integer
sSuch = "Test" ' Der gesuchte Teiltext
On Error Resume Next
iPos = WorksheetFunction.Find(sSuch, [A1].Value, 1)
If Err > 0 Then
MsgBox "Nicht gefunden!"
Else
MsgBox "Suchstring zuerst an Position " & iPos & " gefunden"
End If
End Sub
Füge einen Button hinzu:
CommandButton1_Click
zu.Testen:
Fehler: "Nicht gefunden!" wird immer angezeigt
Lösung: Stelle sicher, dass der Teiltext tatsächlich in der Zelle A1 vorhanden ist. Überprüfe auch die Schreibweise.
VBA gibt einen Laufzeitfehler aus
Lösung: Achte darauf, dass du den Code genau so eingegeben hast, wie er beschrieben wurde. Ein Tippfehler kann dazu führen, dass der Code nicht funktioniert.
Wenn du keine VBA-Makros verwenden möchtest, kannst du auch die eingebaute Funktion FINDEN
in Excel nutzen:
Gib die folgende Formel in eine Zelle ein:
=FINDEN("Test", A1)
Du kannst auch die Funktion SUCHEN
verwenden, die nicht zwischen Groß- und Kleinschreibung unterscheidet:
=SUCHEN("Test", A1)
Teiltext aus Zelle übernehmen:
If Err = 0 Then
Range("B1").Value = Mid([A1].Value, iPos, Len(sSuch))
End If
Suchen in einer Liste:
Nutze InStr
für eine einfachere Textsuche:
If InStr(Cells(1, 1), "Test") <> 0 Then
MsgBox "Text gefunden!"
End If
Experimentiere mit Error Handling
, um den Code robuster zu gestalten.
Verwende benutzerdefinierte Funktionen, wenn du regelmäßig nach Teiltexten suchst, um den Prozess zu automatisieren.
1. Wie kann ich die Suche auf mehrere Zellen ausdehnen?
Du kannst eine Schleife verwenden, um durch die Zellen in einem Bereich zu iterieren. Zum Beispiel:
For Each cell In Range("A1:A10")
' Suche nach Teiltext in cell
Next cell
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen.
3. Kann ich den gesuchten Teiltext dynamisch festlegen?
Ja, du kannst den gesuchten Text aus einer Zelle beziehen, indem du sSuch = Range("B1").Value
verwendest, um den Text aus Zelle B1 zu übernehmen.
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