Dieses Beispiel zeigt, wie Sie mit Hilfe einer benutzerdefinierten Funktion beliebige Umlaute umwandeln können.
Zur Erstellung der benutzerdefinierten Funktion (UDF) gehen Sie bitte wie folgt vor:
- Fügen Sie den unten stehenden Code in ein Code-Modul-Blatt ein.
- Wenn Sie die benutzerdefinierte Funktion zum umandeln von Umlauten ständig griffbereit haben möchten, dann sollten Sie ein Add-In ein binden und den Code dort einfügen. Anstatt eines Add-Ins können Sie auch die Vorlagendatei xlstart verwenden, da diese ebenfalls bei jedem Start von Excel geladen wird.
- Die Syntax der Funktion lautet wie folgt: =UMWANDLEN(Text der umgewandelt werden soll, Umwandlungsparameter)
- Den umzuwandelnden Text können Sie entweder direkt in Anführungsstrichen angeben oder als Bezug, z.B. A1, wenn sich der Text in Zelle A1 befindet.
-Weiterhin stehen zwei Umwandlungsparameter zur Verfügung. Diese sind allerdings optional. Wenn Sie den Parameter nicht angeben oder den Wert 0, dann werden die Umlaut ä,o,ü,ß umgewandelt in ae, oe, üe und ss. Geben Sie stattdessen den Parameter 1 an, bewirkt dies, dass Zeichenfolgen wie ae, oe, ue und ss wieder zurück in Umlaute wie ä,ö,ü und ß zurückverwandelt werden. - Angenommen in Zelle A1 steht der umzuwandelnde Text, dann geben Sie beispielsweise in Zelle A2 folgendes ein: =UMWANDELN(A1). Damit werden alle ä,ö,ü und ß in die entsprechend in ae, oe, ue und ss umgewandelt. Alternativ können Sie auch den Parameter 0 mit angeben, also bspw. = UMWANDELN(A1;0). Damit erzielen Sie das gleiche Ergebnis.
VBA-Code: [Code-Modul Blatt]
Function UMLAUT(text As String, Optional para = 0)
'** Dimensionierung der Variablen
Dim umlaut1, umlaut2, umlaut3, umlaut4, _
umlaut5, umlaut6, umlaut7 As String
'** Umlaute umwandeln in z. B. a -> ae
If para = 0 Then
umlaut1 = Replace(text, "ü", "ue")
umlaut2 = Replace(umlaut1, "Ü", "Ue")
umlaut3 = Replace(umlaut2, "ä", "ae")
umlaut4 = Replace(umlaut3, "Ä", "Ae")
umlaut5 = Replace(umlaut4, "ö", "oe")
umlaut6 = Replace(umlaut5, "Ö", "Oe")
umlaut7 = Replace(umlaut6, "ß", "ss")
UMLAUT = umlaut7
'** In Umlaute zurück verwandeln z.B. ae -> ä
ElseIf para = 1 Then
umlaut1 = Replace(text, "ue", "ü")
umlaut2 = Replace(umlaut1, "Ue", "Ü")
umlaut3 = Replace(umlaut2, "ae", "a")
umlaut4 = Replace(umlaut3, "Ae", "Ä")
umlaut5 = Replace(umlaut4, "oe", "ö")
umlaut6 = Replace(umlaut5, "Oe", "Ö")
umlaut7 = Replace(umlaut6, "ss", "ß")
UMLAUT = umlaut7
End If
End Function
Beispiel:
Der Satz "Die Vögel zwitschern im März ganz fröhlich!" wird mit der Funktion =Umlaut("Die Vögel zwitschern im März ganz fröhlich!") umgewandelt zu "Die Voegel zwitschern im Maerz ganz froehlich!"