Excel VBA: Ersetzen von Text in einer Zeichenfolge (5 effektive Methoden)

  • Teile Das
Hugh West

Wenn Sie nach Möglichkeiten suchen, um Text in einer Zeichenkette ersetzen mit Excel VBA Das Ersetzen eines bestimmten Textteils kann eine Menge Zeit bei der erneuten Eingabe der Textzeichenfolgen sparen. Lassen Sie uns also in den Hauptartikel einsteigen, um die Details dieser Ersetzungsaufgabe zu erfahren.

Arbeitsbuch herunterladen

Ersetzen von Text in String.xlsm

5 Möglichkeiten zum Ersetzen von Text in einer Zeichenfolge mit Excel VBA

Hier haben wir den folgenden Datensatz, der einige Datensätze der Angestellten mit ihren E-Mail-IDs enthält. Unsere Aufgabe ist es, die alten Domänennamen durch die neuen zu ersetzen. In den folgenden Methoden werden wir mit diesem Datensatz zusammen mit einigen zufälligen Textzeichenfolgen arbeiten, um den gewünschten Text durch VBA Codes.

Wir haben verwendet Microsoft Excel 365 Version, Sie können aber auch jede andere Version verwenden, die Ihnen zusagt.

Methode-01: Ersetzen von Text ab der n-ten Position einer zufälligen Zeichenkette

Hier wird der Text in einer zufälligen Zeichenkette für verschiedene Startpositionen ersetzt.

Stufe-01 :

➤ Gehen Sie zum Entwickler Tab>> Code Gruppe>> Visual Basic Option.

Dann wird die Visual Basic-Editor wird sich öffnen.

➤ Gehen Sie zum einfügen. Tab>> Modul Option.

Danach wird eine Modul erstellt werden.

Schritt-02 :

➤ Schreiben Sie den folgenden Code

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub 

Hier haben wir erklärt full_txt_str und aktualisiert_str als Zeichenfolge und dann zugewiesen full_txt_str in eine zufällige Textzeichenfolge - "Hundert Autos fünfzig Autos zehn Autos" Dann wird die VBA REPLACE-Funktion wird verwendet, um die Autos Teil dieser zufälligen Zeichenfolge mit Fahrräder und 1 wird hier verwendet, um die Ersetzung von der Position 1 Schließlich haben wir diese neue Textzeichenkette an aktualisiert_str und mit einem Nachrichtenfeld ( MsgBox ) werden wir das Ergebnis sehen.

➤ Presse F5 .

Dann wird ein Nachrichtenfeld erscheint die neue Textzeichenfolge mit dem ersetzten Text Fahrräder .

➤ Um den Ersetzungsprozess ab der zweiten Instanz von Autos verwenden Sie den folgenden Code.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub 

Hier haben wir die Ausgangsposition als 14 denn wir wollen den Teil der Zeichenkette nach Hundert Autos und ersetzen die Autos hier.

➤ Nach läuft den Code, erhalten wir folgendes Nachrichtenfeld mit dem Textfolge ausgehend vom Text Fünfzig und mit Fahrräder in der Position von Autos .

➤ Um nur den letzten Teil dieser Zeichenkette zu erhalten, wenden wir den folgenden Code an.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub 

Hier haben wir die Ausgangsposition als 25 denn wir wollen den Teil der Zeichenkette nach Fünfzig Autos und ersetzen die Autos mit Fahrräder hier.

Schließlich werden wir eine Nachrichtenfeld wobei der von uns gewünschte Teil der Zeichenkette durch Fahrräder .

Weiterlesen: Excel VBA: Zeichen in Zeichenfolge durch Position ersetzen (4 effektive Möglichkeiten)

Methode-02: Ersetzen von Text für das n-te Vorkommen einer zufälligen Zeichenfolge mit Excel VBA

In diesem Abschnitt werden wir einen Text in einer zufälligen Zeichenkette für verschiedene Anzahlen von Vorkommen mit Hilfe eines VBA Code.

Schritte :

➤ Folgen Stufe-01 von Methode-1 .

➤ Geben Sie den folgenden Code ein.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub 

Hier haben wir erklärt full_txt_str und aktualisiert_str als Zeichenfolge und dann zugewiesen full_txt_str in eine zufällige Textzeichenfolge - "Hundert Autos fünfzig Autos zehn Autos" Danach wird die REPLACE-Funktion wird verwendet, um die Autos Teil dieser zufälligen Zeichenfolge mit Fahrräder , 1 wird hier verwendet, um die Ersetzung von der Position 1 dieser Zeichenkette, und die letzte 1 dient dazu, die Anzahl der Vorkommen zu zählen. Durch die Verwendung von 1 als Zählnummer definieren wir die Ersetzung der ersten Autos Schließlich haben wir diese neue Zeichenkette an aktualisiert_str und mit einem Nachrichtenfeld ( MsgBox ) werden wir das Ergebnis sehen.

➤ Presse F5 .

Danach wird ein Nachrichtenfeld wird mit dem neuen Text angezeigt Fahrräder im erste Position von Autos nur.

➤ Zur Ersetzung der ersten beiden Instanzen von Autos mit Fahrräder verwenden Sie den folgenden Code.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub 

Hier, 2 wird als Zählnummer verwendet, um die ersten beiden Instanzen von Autos mit Fahrräder .

Nachdem Sie den Code ausgeführt haben, werden die ersten beiden Texte ersetzt Autos mit Fahrräder .

➤ Wenden Sie den folgenden Code an, um alle Instanzen des Textes zu ersetzen Autos .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub 

Hier wird das letzte Argument der REPLACE-Funktion ist 3 das ist die Zählnummer, die die Ersetzung aller Autos mit Fahrräder in der Zeichenkette.

➤ Presse F5 .

Im Anschluss daran werden wir Folgendes erleben Nachrichtenfeld mit dem ersetzten Text Fahrräder in der Zeichenkette.

Ähnliche Lektüre

  • Ersetzen von Text durch Carriage Return in Excel (4 einfache Vorgehensweisen)
  • Excel VBA: Suchen und Ersetzen von Text in einem Word-Dokument
  • Ersetzen von Text nach einem bestimmten Zeichen in Excel (3 Methoden)
  • Ersetzen des Textes einer Zelle auf der Grundlage einer Bedingung in Excel (5 einfache Methoden)

Methode-03: Ersetzen von Text in einer zufälligen Zeichenfolge mit InputBox

Hier wird ein bestimmter Text einer zufälligen Zeichenkette durch einen Text ersetzt, der von einem Benutzer mit Hilfe der Funktion VBA InputBox-Funktion .

Schritte :

➤ Folgen Stufe-01 von Methode-1 .

➤ Geben Sie den folgenden Code ein.

 Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Hundert Autos Fünfzig Autos Zehn Autos" new_txt = InputBox("Schreiben Sie den neuen zu ersetzenden Text") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub 

Hier haben wir erklärt full_txt_str , neuer_Text und aktualisiert_str als Zeichenfolge und dann zugewiesen full_txt_str in eine zufällige Textzeichenfolge - "Hundert Autos fünfzig Autos zehn Autos" Um die benutzerdefinierte Eingabe als Text zu verwenden, der durch die Autos in der zufälligen Zeichenkette, haben wir die InputBox-Funktion und wies diesen Wert dann der neuer_Text Dann wird die REPLACE-Funktion wird verwendet, um die Autos Teil dieser zufälligen Zeichenfolge mit neuer_Text Zum Schluss haben wir diese neue Textzeichenfolge an aktualisiert_str und mit einem Nachrichtenfeld ( MsgBox ) werden wir das Ergebnis sehen.

➤ Presse F5 .

Danach wird ein Eingabefeld erscheint, in das Sie einen beliebigen Textteil eingeben können, den Sie in der neuen Zeichenfolge haben möchten.

➤ Typ Fahrräder oder einen anderen gewünschten Text und drücken Sie dann OK .

Schließlich erhalten Sie das folgende Ergebnis, wobei die neue Textzeichenfolge einen neuen Text hat Fahrräder in der Position von Autos .

Lesen Sie mehr: Wie man Text in Excel-Formeln ersetzt (7 einfache Möglichkeiten)

Methode-04: Ersetzen von Text in einem Bereich von Zeichenketten mit Excel VBA

Hier werden wir die gmail Teil der E-Mail-IDs mit den Domänen in der Neuer Bereich Spalte, und um die neuen E-Mail-Adressen zu sammeln, haben wir eine neue Spalte eingefügt; Endgültige E-Mail-ID .

Schritte :

➤ Folgen Stufe-01 von Methode-1 .

➤ Geben Sie den folgenden Code ein.

 Sub substitution_of_text_4() For i = 4 To 13 If InStr(1, Cells(i, 4).Value, "gmail")> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Hier haben wir die FOR-Schleife um die Operation von Reihe 4 zu Reihe 13 Mit Hilfe der IF-THEN Anweisung haben wir geprüft, ob die E-Mail-IDs von Säule D enthalten "gmail" oder nicht, und um dieses Kriterium zu erfüllen, muss die "gmail" Teil der E-Mail-IDs wird durch die neuen Domänen von Säule E zur Erstellung der neuen ids in Säule F Andernfalls bleiben die entsprechenden Zellen in der Tabelle leer. Säule F .

➤ Presse F5 .

Dann haben Sie die neuen E-Mail-Kennungen in der Endgültige E-Mail-ID Spalte.

Lesen Sie mehr: Excel VBA zum Suchen und Ersetzen von Text in einer Spalte (2 Beispiele)

Methode 05: Ersetzen von Text in einem Bereich von Zeichenketten durch Benutzereingaben, um Text zu finden

Sie können die folgenden E-Mail-IDs durch die neuen Domänen ersetzen und angeben, was in den vorherigen IDs ersetzt werden soll, indem Sie dieser Methode folgen.

Schritte :

➤ Folgen Stufe-01 von Methode-1 .

➤ Geben Sie den folgenden Code ein.

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Geben Sie den zu ersetzenden String ein") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Hier haben wir definiert teil_text als Zeichenfolge und dann einer Zeichenkette zugewiesen, die von einem Benutzer über die Eingabefeld .

Danach haben wir die FOR-Schleife um die Operation auszuführen Reihe 4 zu Reihe 13 und die Verwendung der IF-THEN Anweisung haben wir geprüft, ob die E-Mail-IDs von Säule D enthalten "gmail" Und um dieses Kriterium zu erfüllen, muss die "gmail" Teil der E-Mail-IDs wird durch die neuen Domänen von Säule E um die neuen ids in Säule F Andernfalls bleiben die entsprechenden Zellen in der Tabelle leer. Säule F .

➤ Presse F5 .

Danach erhalten Sie eine Eingabefeld wo Sie den Text eingeben müssen, den Sie im Bereich der E-Mail-Adressen suchen wollen (hier haben wir eingegeben gmail ) und drücken Sie dann OK .

Schließlich haben wir unsere aktualisierten E-Mail-Adressen in der Endgültige E-Mail-ID Spalte.

Lesen Sie mehr: Suchen und Ersetzen eines Textes in einem Bereich mit Excel VBA (Makro und UserForm)

Praxisteil

Damit Sie selbst üben können, haben wir für Sie eine Praxis Abschnitt wie unten in einem Blatt namens Praxis Bitte tun Sie es selbst.

Schlussfolgerung

In diesem Artikel haben wir versucht, die Möglichkeiten zum Ersetzen von Text in einer Zeichenfolge mit Excel zu behandeln VBA Wenn Sie Vorschläge oder Fragen haben, können Sie diese gerne im Kommentarbereich stellen.

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.