VBA-Zeichenfolge ersetzen

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 aus dieser Zeichenfolge 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. Ein Beispiel unten ist der Ausdruck "Indien ist ein Entwicklungsland und Indien im asiatischen Land".
  • String suchen: Was ist der String, den wir ersetzen möchten ? Zum Beispiel versuchen wir in der Ausdruckszeichenfolge , 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". Von welcher Position der Suchzeichenfolge aus 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?

Sie können diese VBA Replace String Excel-Vorlage hier herunterladen - VBA Replace String Excel-Vorlage

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 "String suchen", dh welches Wort wir ersetzen müssen, dh "Indien".

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, schauen Sie sich das obige Ergebnis an, wo immer wir das Wort "Indien" hatten, es wurde 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 zugewiesen. Anstatt die Zeichenfolge " Ausdruck", "Zeichenfolge suchen" und "Zeichenfolge ersetzen" anzugeben , wird der Funktion "Ersetzen" 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

Angenommen, Sie möchten das Wort "Indien" nur von der zweiten Position aus ersetzen, dann müssen Sie den Ersetzungsfunktionsparameter ["Start"] verwenden. Schauen Sie sich den folgenden Code zu Ihrer Information an.

Code:

 Sub Replace_Example2 () 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, Start: = 34) MsgBox NewString End Sub 

Nur eine zusätzliche Sache, die wir aus dem vorherigen Code hinzugefügt haben, ist der Parameter "Start" als 34. Führen Sie nun den Code aus und sehen Sie das Ergebnis.

Jetzt können wir nur eine Zeichenfolge nach dem 34. Zeichen der Zeichenfolge sehen, wobei "Indien" durch "Bharath" ersetzt wird.

Beispiel 4

Wenn wir zum Beispiel nur das erste Vorkommen des Wortes "Indien" durch "Bharath" ersetzen möchten, müssen wir den Parameter ["Count"] der Funktion " Ersetzen" verwenden.

Unten ist der Code für Sie.

Code:

 Sub Replace_Example3 () 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, Count: = 1) MsgBox NewString End Sub 

Führen Sie den Code manuell oder über die Taste F5 aus und sehen Sie das Ergebnis.

Wie Sie oben sehen können, hat es nur das erste Vorkommen des Wortes "Indien" durch "Bharath" ersetzt, und die zweite Instanz bleibt dieselbe.

Dinge, an die man sich hier erinnern sollte

  • Replace is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.