Umlaute in Excel-Tabellen automatisch ersetzen

Umlaute in Excel-Tabellen automatisch ersetzen

So ersetzen Sie alle Umlaute problemlos per Makro

Es ist normalerweise nicht mehr so ein großes Problem wie noch vor einigen Jahren, aber Umlaute können immer noch für Schwierigkeiten beim Datenaustausch sorgen. Die folgende Abbildung zeigt eine Tabelle mit Texten, in den Umlaute vorkommen:

Wenn Sie Informationen mit anderen Systemen austauschen oder Daten in andere Länder versenden müssen, kann es daher sinnvoll sein, alle Umlaute in einer Tabelle zu ersetzen. Dabei ersetzen Sie das ä durch ein ae, das ö durch ein oe usw.

Natürlich können Sie das über einen wiederholten Aufruf der Funktion BEARBEITEN - ERSETZEN erledigen. Das macht aber viel Arbeit. Wenn Sie alle drei Umlaute ä, ö und ü in der großen und kleinen Schreibweise sowie das ß ersetzen möchten, müssen Sie sieben Ersetzen-Vorgänge hintereinander ausführen.

Einfacher geht es per Makro. Hier ist der passende Programmcode:

 

Sub ErsetzeUmlaute()
Dim Zelle As Range
With Application.WorksheetFunction
 For Each Zelle In Selection
  Zelle.Value = .Substitute(.Substitute(.Substitute(.Substitute( _
  .Substitute(.Substitute(.Substitute(Zelle.Value, "ä", "ae"), _
  "ö", "oe"), "ü", "ue"), "Ö", "Oe"), "Ü", "Ue"), "ß", "ss"), _
  "Ä", "Ae")
 Next Zelle
End With
End Sub

Das Makro verschachtelt die passenden Ersetzen-Aufrufe über die Funktion Substitute ineinander. Das ist der englische Funktionsname der Tabellenfunktion ERSETZEN.

Um das Makro zu verwenden, markieren Sie zuerst die Zellen, in denen Sie die Umlaute ersetzen möchten und rufen dann das Makro auf. Die folgende Abbildung zeigt, wie die Tabelle mit den Umlauten nach dem Start des Makros aussieht: