Vba: so ersetzen sie zeichen in einer zeichenfolge


Sie können die Methode „Replace()“ in VBA verwenden, um Zeichen in einer Zeichenfolge zu ersetzen.

Diese Methode verwendet die folgende grundlegende Syntax:

Ersetzen (Ausdruck, Suchen, Ersetzen, Starten, Zählen)

Gold:

  • Ausdruck : Die Zeichenfolge, in der Sie die Zeichen ersetzen möchten
  • find : Die zu suchende Zeichenfolge
  • ersetzen : Die Zeichenfolge, die als Ersatz verwendet werden soll
  • start ( optional ) : Die Startposition in der Zeichenfolge, nach der gesucht werden soll
  • count ( optional ) : Die Anzahl der durchzuführenden Ersetzungen

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 ersetzen (Groß-/Kleinschreibung beachten)

Nehmen wir an, wir möchten in jeder Zeichenfolge „this“ durch „THAT“ ersetzen.

Dazu können wir das folgende Makro erstellen:

 Sub ReplaceChar()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(Range(" A " & i), " this ", " THAT ")
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“ durch „THAT“ ersetzt wird.

Beachten Sie, dass bei dieser Ersetzung die Groß-/Kleinschreibung beachtet wird.

Das heißt, jedes Vorkommen von „this“ wird ersetzt, aber jedes Vorkommen von „this“ bleibt in Ruhe.

Beispiel 2: Verwenden Sie VBA, um alle Vorkommen von Zeichen in einer Zeichenfolge zu ersetzen (ohne Berücksichtigung der Groß- und Kleinschreibung).

Nehmen wir an, wir möchten „this“ (unabhängig von der Groß-/Kleinschreibung) in jeder Zeichenfolge durch „THAT“ ersetzen.

Dazu können wir das folgende Makro erstellen:

 Sub ReplaceChar()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", " THAT ")
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“ durch „THAT“ ersetzt wird.

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

Wir konnten diese Ersetzung ohne Berücksichtigung der Groß- und Kleinschreibung durchführen, indem wir mit der LCase- Methode zunächst jede Zeichenfolge in Spalte A in Kleinbuchstaben umwandelten, bevor wir in jeder Zeichenfolge nach „this“ suchten.

Beispiel 3: Verwenden Sie VBA, um die ersten N Vorkommen eines Zeichens in einer Zeichenfolge zu ersetzen

Angenommen, wir möchten in jeder Zeichenfolge nur das erste Vorkommen von „this“ (unabhängig von der Groß-/Kleinschreibung) durch „THAT“ ersetzen.

Dazu können wir das folgende Makro erstellen:

 Sub ReplaceChar()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", " THAT ", Count:=1)
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 nur das erste Vorkommen von „this“ durch „THAT“ ersetzt wird.

Beachten Sie, dass wir Count:=1 verwendet haben, um nur das erste Vorkommen einer bestimmten Zeichenfolge zu ersetzen. Sie können 1 jedoch durch einen beliebigen Wert ersetzen, um die ersten n Vorkommen einer bestimmten Zeichenfolge zu ersetzen.

Hinweis : Die vollständige Dokumentation zur VBA- Replace -Methode finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, 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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert