Alle nationalen Sonderzeichen in ASCII-Äquivalente umwandeln
11.09.2025 15:56:33
BoniHH
ich möchte gerne in einer Excel-Tabelle alle nationalen Sonderzeichen (vor allem aus der deutschen, der polnischen und der türkischen Sprache) durch ihre jeweiligen ASCII-Äquivalente ersetzen. Ich hatte folgendes schon mal probiert:
Function EntferneAkzente(ByVal Text As String) As String
Dim Original As String: Original = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ"
Dim Ersatz As String: Ersatz = "AAAAAACEEEEIIIINOOOOOUUUUYaaaaaaceeeeiiiinooooouuuuyy"
Dim i As Long
For i = 1 To Len(Original)
Text = Replace(Text, Mid(Original, i, 1), Mid(Ersatz, i, 1))
Next i
EntferneAkzente = Text
End Function
Sub AkzenteEntfernenImMarkiertenBereich()
Dim Zelle As Range
For Each Zelle In Selection
If Not IsEmpty(Zelle.Value) Then
Zelle.Value = EntferneAkzente(Zelle.Value)
End If
Next Zelle
MsgBox "Akzente wurden entfernt!", vbInformation
End Sub
Das funktionierte ganz gut, aber die Liste der zu ersetzenden Zeichen ist nicht vollständig, es fehlen die Zeichen ş ą ć ę ł ń ś ź ż ė. Diese Zeichen kann ich aber gar nicht in den VBA-Editor von Excel kopieren, beim Einfügen werden die automatisch zu den ASCII-Äquivalenten s a c e l n s z z e. Also genau das, was ich im Ergebnis für meine Daten erreichen will. Aber wie programmiere ich das, wenn die die Sonderzeichen nicht in den VBA-Editor eingeben kann?
Oder gibt es ein fertiges Plugin, eine Tool oder sonstwas, was alle nationalen Sonderzeichen auflöst?
Schöne Grüße von der Elbe!
Winfried
Anzeige