VBA-Ersetzungsfunktion - String ersetzen

Inhaltsverzeichnis

In diesem Tutorial wird gezeigt, wie Sie die Funktion zum Ersetzen von VBA verwenden, um Textzeichenfolgen zu ersetzen.

Funktion ersetzen

Die VBA-Ersetzen-Funktion gibt eine Zeichenfolge mit vorgenommenen Ersetzungen zurück. Bei Verwendung optionaler Parameter kann der neue String an der durch start angegebenen Position beginnen und am Ende des ursprünglichen Strings enden.

VBA Ersetzen Ersetzen einer Teilzeichenfolge

Die VBA-Ersetzen-Funktion kann verwendet werden, um jede gefundene Teilzeichenfolge in jedem gefundenen Teil zu ersetzen.

12345678910111213141516 Sub ReplaceExample_1()MsgBox Replace("ABCABCABC", "A", "!")'Ergebnis ist: "!BC!BC!BC"MsgBox Replace("Ich mag pink, rot und schwarz", "pink", "lila")'Ergebnis ist: "Ich mag Lila, Rot und Schwarz"MsgBox Replace("A, B, C, A, B, C, A, B, C", ", ", ",")'Ergebnis ist: "ABCABCABC"MsgBox Replace("ABCABCABC", "ABC", "!")'Ergebnis ist: "!!!"MsgBox Replace("ABCABCABC", "ABc", "!")'Ergebnis ist: "ABCABCABC"MsgBox Replace("ABCABCABC", "ZBC", "!")'Ergebnis ist: "ABCABCABC"End Sub

VBA Startposition ersetzen

Die VBA-Ersetzen-Funktion kann verwendet werden, um jede gefundene Teilzeichenfolge in jedem gefundenen Teil zu ersetzen. Wenn wir eine Startposition zuweisen, wäre das Ergebnis der Teil der ursprünglichen Zeichenfolge nach diesem Startpunkt.

12345678910111213 Sub ReplaceExample_2()MsgBox Replace("ABCABCABC", "A", "123") 'Ergebnis ist: "123BC123BC123BC"MsgBox Replace("ABCABCABC", "A", "123", 2) 'Ergebnis ist: "BC123BC123BC"MsgBox Replace("ABCABCABC", "A", "123", 7) 'Ergebnis ist: "123BC"MsgBox Replace("ABCABCABC", "A", "123", 8) 'Ergebnis ist: "BC"MsgBox Replace("ABCABCABC", "ABC", "!@") 'Ergebnis ist: "!@!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 2) 'Ergebnis ist: "BC!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 6) 'Ergebnis ist: "C!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 7) 'Ergebnis ist: "!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 8) 'Ergebnis ist: "BC"End Sub

VBA ersetzt nur wenige Vorkommen

Die VBA-Ersetzen-Funktion kann verwendet werden, um jede gefundene Teilzeichenfolge in jedem gefundenen Teil zu ersetzen. Wir können optional entscheiden, wie viele Vorkommen ersetzt werden sollen.

123456789101112 Sub ReplaceExample_3()MsgBox Replace("ABCABCABC", "A", "12") 'Ergebnis ist: "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", , 1) 'Ergebnis ist: "12BCABCABC"MsgBox Replace("ABCABCABC", "A", "12", , 2) 'Ergebnis ist: "12BC12BCABC"MsgBox Replace("ABCABCABC", "A", "12", , 3) ​​'Ergebnis ist: "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", , 5) 'Ergebnis ist: "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", 3, 1)'Ergebnis ist: "C12BCABC"„Wir haben A durch 12 ersetzt, 1 Mal beginnend mit Position 3 der ursprünglichen Saite.End Sub

VBA-Ersatz-Groß-/Kleinschreibung

Die VBA-Ersetzungsfunktion unterscheidet standardmäßig zwischen Groß- und Kleinschreibung. Sie können dieses Verhalten mithilfe eines optionalen Parameters (vbTextVergleichen). In diesem Fall müssen Sie auch die Startposition der Suche festlegen.

12345678910111213 Sub ReplaceExample_4()MsgBox Replace("ABcABCABc", "ABc", "12")'Ergebnis ist: "12ABC12"MsgBox Replace("ABcABCABc", "ABc", "12", , , vbTextCompare)'Ergebnis ist: "121212"'Wenn wir vbTextCompare verwenden, müssen wir die 2 anderen optionalen Argumente hinzufügen:'starten und zählenMsgBox Replace("ABcABCABcABc", "ABc", "12", 3, 1)'Ergebnis ist: "cABC12ABc"'Ab Position 3 gestartet und ABC nur 1 Mal ersetzt.End Sub

Sie können auch ein Ersetzen ohne Beachtung der Groß-/Kleinschreibung durchführen, indem Sie die Option Text vergleichen oben in Ihrem Modul hinzufügen:

1 Option Text vergleichen

VBA ersetzt doppelte Anführungszeichen

Die VBA Replace-Funktion kann die doppelten Anführungszeichen ersetzen, die verwendet werden, um den Anfang und das Ende einer Zeichenfolge zu begrenzen.

Die VBA Chr-Funktion kann ein Zeichen aus seiner Zahl im Zeichensatz zurückgeben.

1 MsgBox Chr(34) 'Ergebnis ist: "

Oder

1 MsgBox Chr(64) 'Ergebnis ist: @

Doppelte Anführungszeichen können innerhalb der VBA-Ersetzungsfunktion mit „“““ oder der VBA-Funktion Chr(34) verwendet werden.

12345678910111213 Sub ReplaceExample_5()Dim StrEx als StringStrEx = "AB""AB"""MsgBox StrEx 'Ergebnis ist: AB"AB"MsgBox Ersetzen(StrEx, Chr(34), "12")'Ergebnis ist: AB12AB12MsgBox Ersetzen(StrEx, """", "DQ")'Ergebnis ist: "ABDQABDQ"End Sub

VBA ersetzt Bruchlinie in Zelle

Die VBA-Ersetzen-Funktion kann das Sonderzeichen der Bruchlinie in einer Zelle finden und es entfernen oder durch ein Leerzeichen ersetzen. Das Sonderzeichen für die Trennlinie kann mit der Tastenkombination Alt+Enter in eine Zelle eingegeben werden und kann in VBA-Code mit seiner Zeichensatznummer mit der VBA-Funktion Chr(10) verwendet werden.

1234567891011121314 Sub ReplaceExample_6()Dim StrEx As String 'String-Variable definieren'Lesen Sie den Wert von Zelle A2 in Arbeitsblatt Sheet1StrEx = ThisWorkbook.Worksheets("Sheet1").Range("A2").Value'Das mit Alt+Enter eingegebene Umbruchzeichen ist Chr(10) und ist unsichtbar.'Diese Codezeile ersetzt dieses Zeichen durch ein LeerzeichenStrEx = Ersetzen(StrEx, Chr(10), " ")'Schreiben Sie den ersetzten Wert in Zelle B2 im Arbeitsblatt Sheet1ThisWorkbook.Worksheets("Sheet1").Range("B2").Value = StrExEnd Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave