In manchen Spreadsheets ist es sinnvoll, wenn nur internationale Zeichen verwendet werden. Und die (deutschen) Umlaute gehören nun einmal nicht dazu. Es soll die Möglichkeit geschaffen werden, dass bei Eingabe eines Umlauts oder des „ß“ eine automatische Umwandlung geschieht. Dieses Vorhaben lässt sich mit einer Prozedur gut realisieren. Hier nun der Code dafür:
Option Explicit Sub Worksheet_Change(ByVal Target As Range) Dim aUmlaute, aUmlErsatz Dim i As Integer aUmlaute = Array("Ä", "ä", "Ö", "ö", "Ü", "ü", "ß") aUmlErsatz = Array("Ae", "ae", "Oe", "oe", "Ue", "ue", "ss") On Error GoTo ErrorHandler Application.EnableEvents = False For i = 0 To 6 Target.Value = Replace(Target, aUmlaute(i), aUmlErsatz(i)) Next i ErrorHandler: Application.EnableEvents = True End Sub
Fügen Sie diese Sub in das Modul des entsprechenden Arbeitsblatts ein. Automatisch wird nun bei jeder Eingabe in eine Zelle geprüft, ob Umlaute oder das „ß“ enthalten sind und bei Vorhandensein ersetzt. Soll sich die Ersetzung auf einen definierten Bereich beschränken, dann könnte der Code so aussehen:
Sub Worksheet_Change(ByVal Target As Range) Dim aUmlaute, aUmlErsatz Dim i As Integer Dim rngNoUmlaut As Range Set rngNoUmlaut = Range("B2:F20") 'Anpassen aUmlaute = Array("Ä", "ä", "Ö", "ö", "Ü", "ü", "ß") aUmlErsatz = Array("Ae", "ae", "Oe", "oe", "Ue", "ue", "ss") On Error GoTo ErrorHandler Application.EnableEvents = False If Not Intersect(Target, rngNoUmlaut) Is Nothing Then For i = 0 To UBound(aUmlaute) Target.Value = Replace(Target, aUmlaute(i), aUmlErsatz(i)) Next i End If ErrorHandler: Application.EnableEvents = True End Sub
Da die zu ersetzenden Zeichen in jeweils einem Array stehen, lässt sich der Code problemlos auch auf andere Sprachen anwenden oder um weitere Zeichen erweitern. In dem Fall (oder auch generell) kann statt der Zeile
For i = 0 To 6
der Code
For i = 0 To UBound(aUmlaute)
verwendet werden. VBA berechnet dann die Größe des Arrays und wendet den korrekten Wert an.
Hinweis: Möchten Sie bereits existierende Tabellen umwandeln? Dann wenden Sie sich vertrauensvoll an uns, wir leiten Ihr Anliegen dann gerne an unseren Sponsor GMG Computer-Consulting weiter.
[NachObenLetzte Verweis="T&T: Umlaute ersetzen"]