Excel VBA – Sonderzeichen entfernen

Excel VBA - Sonderzeichen entfernen

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem VBA How-To präsentiere ich Ihnen eine dynamische Lösung zum Einsatz einer Funktion, die aus Zellen unerwünschte Zeichen wie -, / und \ entfernt. In meinem Beispiel arbeite ich mit Materialnummern. Aber Sie können die Funktion beliebig anpassen und anderweitig verwenden. Zum Beispiel bei der Bereinigung von Telefonnummern.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Sonderzeichen über VBA entfernen
Wechseln Sie zunächst mit der Tastenkombination ALT+F11 in die Entwicklungsumgebung und fügen Sie ein neues Modul ein.
Wir übergeben unserer Funktion die zu bereinigende Zelle. Außerdem deklarieren wir eine Variable vom Typ Integer. Diese wird bei der Überprüfung der Zeichen verwendet. In der jeweiligen Zelle wird mithilfe einer Schleife Zeichen für Zeichen überprüft. Dabei gestalten wir das Schleifenende dynamisch. Es wird immer vom ersten bis zum letzten Zeichen geprüft. Die Länge der jeweiligen Zeichenkette (Strings) bekommen wir über die Funktion Len heraus.

Function Parsen(Zelle As Range)
Dim intZ As Integer
For intZ = 1 To Len(Zelle.Value)

Next intZ
End Function

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Innerhalb der Schleife wir das jeweilige Zeichen geprüft. Mit der Funktion Mid extrahieren wir Zeichen für Zeichen und arbeiten so den Inhalt von links nach rechts ab. Sollte es sich dabei um ein Sonderzeichen handeln, wird es ignoriert. Andernfalls wird es zu der „neuen“ Zeichenkette hinzugefügt. Diese wird anschließend ausgegeben.

Function Parsen(Zelle As Range)
Dim intZ As Integer

For intZ = 1 To Len(Zelle.Value)

Select Case Mid(Zelle.Value, intZ, 1)

Case "/", "-", "\"

Case Else

Parsen = Parsen & Mid(Zelle.Value, intZ, 1)

End Select
Next intZ
End Function

Wechseln Sie nun zurück in die Arbeitsmappe und testen Sie die Funktion. Markieren Sie dabei den Bereich B2 bis B12. Fügen Sie nun unsere Funktion Parsen ein und übergeben Sie dieser die zu verarbeitende Zelle. Schließen Sie die Eingabe mit STRG+ENTER ab. Der gesamte Bereich wird nun mit der Funktion ausgefüllt.

VBA Parsen Ergebnis
Unsere Funktion funktioniert prächtig. Die Daten sind bereinigt.
Diese Funktion können Sie nun ganz einfach um weitere unerwünschte Zeichen ergänzen.
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 - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Quellen und weiterführende Literatur:
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.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.