Vba: so entfernen sie zeichen aus einer zeichenfolge
Sie können die Methode „Replace()“ in VBA verwenden, um Zeichen aus einer Zeichenfolge zu entfernen.
Die folgenden Beispiele zeigen, wie Sie diese Methode in der Praxis mit der folgenden Liste von Zeichenfolgen in Excel verwenden:
Beispiel 1: Verwenden Sie VBA, um alle Vorkommen von Zeichen in einer Zeichenfolge zu entfernen (Groß-/Kleinschreibung beachten)
Nehmen wir an, wir möchten „this“ aus jeder Zeichenfolge entfernen.
Dazu können wir das folgende Makro erstellen:
Sub RemoveChar() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(Range(" A " & i), " this ", "") Next i End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Spalte B zeigt alle Zeichenfolgen in Spalte A an, wobei jedes Vorkommen von „this“ entfernt wurde.
Beachten Sie, dass bei diesem Makro die Groß-/ Kleinschreibung beachtet wird.
Das heißt, jedes Vorkommen von „dies“ wird entfernt, aber jedes Vorkommen von „dies“ wird in Ruhe gelassen.
Beispiel 2: Verwenden Sie VBA, um alle Vorkommen von Zeichen in einer Zeichenfolge zu entfernen (ohne Berücksichtigung der Groß- und Kleinschreibung).
Nehmen wir an, wir möchten „this“ (unabhängig von der Groß-/Kleinschreibung) aus jeder Zeichenfolge entfernen.
Dazu können wir das folgende Makro erstellen:
SubRemoveChar () Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "") Next i End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Spalte B zeigt alle Zeichenfolgen in Spalte A an, wobei jedes Vorkommen von „this“ entfernt wurde.
Beachten Sie, dass bei dieser Ersetzung die Groß-/Kleinschreibung nicht beachtet wird .
Das heißt, jedes Vorkommen von „this“ (ob großgeschrieben oder nicht) wird entfernt.
Dies konnten wir erreichen, indem wir mithilfe der LCase- Methode zunächst jeden String in Spalte A in Kleinbuchstaben umwandelten, bevor wir in jedem String nach „this“ suchten.
Beispiel 3: Verwenden Sie VBA, um die ersten N Vorkommen eines Zeichens in einer Zeichenfolge zu entfernen
Nehmen wir an, wir möchten aus jeder Zeichenfolge nur das erste Vorkommen von „this“ (unabhängig von der Groß-/Kleinschreibung) entfernen.
Dazu können wir das folgende Makro erstellen:
SubRemoveChar () Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "", Count:=1) Next i End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
In Spalte B werden alle Zeichenfolgen in Spalte A angezeigt, wobei nur das erste Vorkommen von „this“ entfernt wird.
Beachten Sie, dass wir Count:=1 verwendet haben, um nur das erste Vorkommen einer bestimmten Zeichenfolge zu entfernen. Sie können 1 jedoch durch einen beliebigen Wert ersetzen, den Sie anstelle der ersten n Vorkommen einer bestimmten Zeichenfolge entfernen möchten.
Hinweis : Die vollständige Dokumentation zur VBA- Replace -Methode finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erklärt, wie Sie andere häufige Aufgaben mit VBA ausführen:
VBA: So zählen Sie das Vorkommen von Zeichen in einer Zeichenfolge
VBA: So überprüfen Sie, ob eine Zeichenfolge eine andere Zeichenfolge enthält
VBA: So zählen Sie Zellen mit bestimmtem Text