Excel VBA – Zeichen ersetzen mit Replace

Excel VBA - Zeichen ersetzen mit Replace
Excel VBA – Zeichen ersetzen mit Replace
5 Sterne
3 Bewertungen

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
In diesem How-To zeige ich Ihnen die Replace Funktion. Damit können wir in einem VBA Makro einzelne Zeichen in einer Zeichenkette ersetzen. Schauen wir uns als Beispiel die folgende Tabelle an.
Ausgangstabelle
In dieser wollen wir alle Schrägstriche durch Bindestriche ersetzen. Dazu legen wir ein VBA Makro an. Wechseln Sie mit der Tastenkombination ALT+F11 in die Entwicklungsumgebung und fügen Sie ein neues Modul ein.
Als Erstes legen wir eine Variable für die Schleife an. Die Deklaration sieht wie folgt aus:

Sub Ersetzen()
Dim Zelle As Range

End Sub

Danach schreiben wir eine Schleife um alle Zellen in dem verwendeten Bereich zu überprüfen. Diese arbeitet alle Zellen, Zelle für Zelle, ab.

Sub Ersetzen()
Dim Zelle As Range

For Each Zelle In Tabelle1.UsedRange

Next Zelle
End Sub

Innerhalb der Schleife modifizieren wir dann den jeweiligen Zellwert mithilfe der Replace Funktion. Im ersten Argument geben wir an, wo die Zeichen ersetzt werden sollen. Danach geben wir das zu ersetzende Zeichen an. Schließlich geben wir das Ersatzzeichen an. Das finale Coding sieht dann wie folgt aus:

Sub Ersetzen()
Dim Zelle As Range

For Each Zelle In Tabelle1.UsedRange

Zelle.Value = Replace(Zelle.Value, "/", "-")

Next Zelle
End Sub

Alternativ können Sie auch statt der Funktion die Replace Methode nutzen. (Danke an Ralf für den Tipp.) Damit erübrigt sich die Schleife und die Performance steigt. Das Coding würde dann so aussehen:

Sub ErsetzenAlternative()

Tabelle1.UsedRange.Replace "/", "-", xlPart

End Sub

Führen Sie nun das Makro mit der F5 Taste aus. Alle Zeichen wurden ersetzt.
Alle Zeichen wurden ersetzt
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Replace Methode
Replace Funktion
Bernd Held – VBA mit Excel: Das umfassende Handbuch

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

5 Kommentare
  1. Ralf
    Ralf says:

    Moin!
    Ich empfinde die Replace-Funktion als hier nicht zielführend.
    Sowas erschlägt die Range.Replace-Methode in einem Rutsch, so ganz ohne Schleife und als Einzeiler:
    Tabelle1.Columns(„A“).Replace „/“, „-„, xlPart

    Freundliche Grüße
    Ralf

    Antworten

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Kommentar verfassen