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

Forumthread: Teiltext suchen, VBA

Teiltext suchen, VBA
18.02.2004 13:55:02
Alexej
Hallo Forum
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
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teiltext suchen, VBA
18.02.2004 14:01:31
y
hi Alexej,
If InStr(Cells(1, 1), "Test") <> 0 Then
dein code bei erfolg
End If
cu Micha
AW: Teiltext suchen, VBA
18.02.2004 14:04:47
Galenzo
Hallo,
Hiermit kannst du in der Zelle A1 nach dem Vorkommen des (Teil-)Stings "test" durchsuchen und die Fundstelle ausgeben:


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

mfg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Teiltextsuche mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um in Excel einen Teiltext mithilfe von VBA zu suchen, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. 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
    • Dieser Code sucht nach dem Teiltext "Test" in der Zelle A1 und gibt die Position aus, wenn er gefunden wird.
  4. Füge einen Button hinzu:

    • Gehe zurück zu deinem Excel-Arbeitsblatt, füge einen Button hinzu und weise ihm das Makro CommandButton1_Click zu.
  5. Testen:

    • Klicke auf den Button, um die Textsuche zu starten.

Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch die eingebaute Funktion FINDEN in Excel nutzen:

  1. Gib die folgende Formel in eine Zelle ein:

    =FINDEN("Test", A1)
    • Diese Formel gibt die Position des Teiltexts "Test" in A1 zurück oder einen Fehler, wenn der Text nicht gefunden wird.
  2. Du kannst auch die Funktion SUCHEN verwenden, die nicht zwischen Groß- und Kleinschreibung unterscheidet:

    =SUCHEN("Test", A1)

Praktische Beispiele

  1. Teiltext aus Zelle übernehmen:

    • Wenn du den gefundenen Teiltext in eine andere Zelle übernehmen möchtest, kannst du den Code wie folgt anpassen:
      If Err = 0 Then
      Range("B1").Value = Mid([A1].Value, iPos, Len(sSuch))
      End If
  2. Suchen in einer Liste:

    • Du kannst eine Schleife verwenden, um in einer Liste von Zellen nach Teiltexten zu suchen und die Ergebnisse in einer anderen Zelle auszugeben.

Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige