VBA String ersetzen - Wie ersetze ich Text in String mit VBA?

Excel VBA-Zeichenfolge ersetzen

Ersetzen ist sowohl die Arbeitsblattfunktion als auch die VBA-Funktion. Diese Funktion hilft uns, das bestimmte Wort aus der Zeichenfolge durch eine andere Zeichenfolge zu ersetzen. Es funktioniert ähnlich wie die Ersatzfunktion in VBA.

Beim Umgang mit Testzeichenfolgen- oder Textdatenwerten ist es naheliegend, etwas durch etwas anderes zu ersetzen oder zu ersetzen, indem zwei Zellendaten zu einer zusammengefügt oder eine Zellendaten in mehrere Dinge aufgeteilt werden. Dies sind alles gängige Aufgaben, die wir Tag für Tag an unserem Arbeitsplatz erledigen.

Wie ersetzen wir also ein Wort in der Zeichenfolge durch ein anderes Wort? Wenn die Zeichenfolge beispielsweise "Indien ist ein Entwicklungsland und Indien im asiatischen Land" lautet, müssen wir das Wort "Indien" ersetzen und in "Bharath" ändern.

Dies ist mit der Funktion Ersetzen möglich. In diesem Artikel zeigen wir Ihnen, wie Sie Zeichenfolgen in der VBA-Codierung ersetzen.

Funktion ersetzen

  • Ausdruck: Dies ist nichts anderes als der ursprüngliche Zeichenfolgenwert, von dem aus wir versuchen, etwas durch etwas zu ersetzen. Im Folgenden finden Sie beispielsweise den Ausdruck "Indien ist ein Entwicklungsland und Indien im asiatischen Land".
  • String suchen: Was ist der String, den wir ersetzen möchten ? In der Ausdruckszeichenfolge versuchen wir beispielsweise, das Wort "Indien" zu ersetzen.
  • Zeichenfolge ersetzen: Mit welcher Ersatzzeichenfolge ersetzen wir die Suchzeichenfolge ? In diesem Fall versuchen wir also, das Wort "Indien" durch "Bharath" zu ersetzen.
  • (Start): Dies ist ein optionaler Parameter. In der obigen Zeichenfolge (Ausdruck) haben wir zwei Wörter, "Indien". An welcher Position der Suchzeichenfolge müssen wir den Ersetzungsprozess starten. Wenn wir zum Beispiel 2 sagen, wird das Wort „Indien“ ab der zweiten Position ersetzt.
  • (Anzahl): Wenn die Suchzeichenfolge im Ausdruck mehrmals vorkommt , wie viele Wörter müssen dann ersetzt werden?

Wenn beispielsweise das Wort "Indien" fünfmal vorkommt und Sie die Zählung als 3 angeben, werden nur die ersten drei Wörter "Indien" ersetzt.

Wie ersetze ich Text in String mit VBA?

Beispiel 1

Jetzt werden wir versuchen, das Wort "Indien" durch "Bharath" aus dem folgenden Zeichenfolgenwert zu ersetzen.

"Indien ist ein Entwicklungsland und Indien im asiatischen Land."

Starten Sie zunächst die Excel-Makroprozedur.

Code:

Sub Replace_Example () End Sub

Definieren Sie die VBA-Variable als String.

Code:

Sub Replace_Example () Dim NewString As String End Sub

In dieser Variablen wird ein neuer Zeichenfolgenwert angezeigt, nachdem das Wort "Indien" durch "Bharath" ersetzt wurde. Öffnen Sie für diese Variable die Funktion Ersetzen.

Das erste Argument dieser Funktion ist "Ausdruck", dh aus welcher Zeichenfolge wir versuchen, ein Wort zu ersetzen. Kopieren Sie daher die Zeichenfolge "Indien ist ein Entwicklungsland und Indien im asiatischen Land" und fügen Sie sie ein.

Das nächste Argument ist "Find String", dh welches Wort wir ersetzen müssen, dh "India".

Das nächste Argument ist "String ersetzen", dh durch welchen String wir das Wort "Indien" ersetzen müssen, dh "Bharath".

Ok, ignoriere ab sofort die verbleibenden Argumente. Zeigen Sie nun das Ergebnis im Meldungsfeld an.

Code:

Sub Replace_Example () Dim NewString As String NewString = Replace ("Indien ist ein Entwicklungsland und Indien ist das asiatische Land", "Indien", "Bharath") MsgBox NewString End Sub

Lassen Sie uns den Code mit der Taste F5 oder manuell ausführen und das neue Zeichenfolgenergebnis anzeigen.

Ok, sieh dir das obige Ergebnis an. Wo immer wir das Wort "Indien" hatten, wurde es durch das Wort "Bharath" ersetzt.

Beispiel 2

Jetzt werden wir sehen, wie man denselben Code mit Variablen verwendet. Schauen Sie sich den folgenden Code an.

Code:

Sub Replace_Example1 () Dim NewString als String Dim MyString als String Dim FindString als String Dim ReplaceString als String MyString = "Indien ist ein Entwicklungsland und Indien ist das asiatische Land" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub

Im obigen Code habe ich drei zusätzliche Variablen deklariert.

Dim MyString als String Dim FindString als String Dim ReplaceString als String

Für diese Variablen habe ich Werte vergeben. Anstatt die Ausdruckszeichenfolge, die Suchzeichenfolge und die Ersetzungszeichenfolge anzugeben, wird der Ersetzungsfunktion nur eine Variable bereitgestellt.

Dieser Code liefert ebenfalls das gleiche Ergebnis, aber der einzige Unterschied besteht darin, dass wir Variablen verwendet haben, anstatt der Funktion direkt Werte zu liefern.

Beispiel 3

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

  • Ersetzen ist eine String-Funktionsfamilie in VBA.
  • In VBA ersetzt die Ersetzungsfunktion alle angegebenen Wörter durch ersetzte Zeichenfolge, wenn der Parameter count nicht angegeben ist.
  • Der Startparameter löscht die Anzahl der angegebenen Zeichen und zeigt das verbleibende Ergebnis an.

Interessante Beiträge...