sarekhl

Excel - Akzente aus Text entfernen

Hallo in die Runde,

gibt es eine Möglichkeit, aus einer Excel- oder CSV-Datei alle Akzente zu entfernen, so dass aus Çay Cay wird, aus René Rene und so weiter ... ohne dass ich mir erst mal Gedanken machen muss, was es wohl alles für Zeichen geben könnte und die dann mit der Wechseln-Funktion ersetzen muss?

Es muss nicht innerhalb von Excel passieren, es kann über die CSV-Datei auch außerhalb von Excel umgewandelt werden.

Umlaute und das ß dürfen erhalten bleiben, es geht nur um akzentuierte Buchstaben ...


Danke im Voraus,
Sarek \\//_
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 673587

Url: https://administrator.de/forum/excel-akzente-entfernen-csv-673587.html

Ausgedruckt am: 18.07.2025 um 21:07 Uhr

djgarfield
djgarfield 28.06.2025 um 11:28:17 Uhr
Hallöchen,

Power Query (ab Excel 2016).

Markiere deine Daten und klicke auf „Daten“ > „Aus Tabelle/Bereich“, um Power Query zu öffnen.

Im Power Query-Editor gehst du auf:
Transformieren > Format > „Akzente entfernen“
(je nach Sprache: „Remove Diacritics“)

Danach auf „Schließen und laden“ klicken.

Viele Grüsse
Michael
SarekHL
SarekHL 28.06.2025 um 11:36:35 Uhr
Transformieren > Format > „Akzente entfernen“

Hm, "Akzente entfernen" finde ich dort nicht:

format
djgarfield
djgarfield 28.06.2025 um 11:54:15 Uhr
Stimmt...hmmm wo ist es hin??? Du kannst es auch mit VBA probieren...

Drücke ALT + F11, dann:
Einfügen → Modul → folgenden Code einfügen:

Wenn DU Umlaute behalten willst, die entsprechenden Zeichen löschen z.B. Ä löschen und das A auch löschen

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
SarekHL
SarekHL 28.06.2025 um 11:58:36 Uhr
Stimmt...hmmm wo ist es hin???

Hm, ich verwende Office 2019, vielleicht gab es das da noch nicht. Ich probiere das noch mal im Büro mit O365 ...
AbstrackterSystemimperator
AbstrackterSystemimperator 28.06.2025 um 13:45:45 Uhr
Ist es das hier?

Power Query

Gruß
Imperator.
SarekHL
SarekHL 28.06.2025 aktualisiert um 18:56:17 Uhr
Du kannst es auch mit VBA probieren...
Dim Original As String: Original = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ"
Dim Ersatz As String: Ersatz = "AAAAAACEEEEIIIINOOOOOUUUUYaaaaaaceeeeiiiinooooouuuuyy"

Grundsätzlich funktioniert das gut, aber die Liste ist nicht vollständig. Beim Überfliegen der Tabelle nach Anwendung der Sub fand ich zum Beispiel ein ğ. ein ş und ein ė. Ich habe keine Ahnung, ob da noch mehr kommt, ich möchte auch nicht alle 1000 Zeilen manuell überprüfen.

Gibt es irgendwo eine vollständige Liste der akzeptuierten Buchstaben, um dieses Script vernünftig nutzbar zu machen?
SarekHL
SarekHL 29.06.2025 aktualisiert um 13:56:51 Uhr
Gibt es irgendwo eine vollständige Liste der akzeptuierten Buchstaben, um dieses Script vernünftig nutzbar zu machen?

Ich habe mir die Liste jetzt mit polnischen und türkischen ergänzt:

ÀÁÂÃÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÙÚÛÝŸÇĞIİŞĄĆĘŁŃÓŚŹŻĖàáâãåçèéêëìíîïñòóôõùúûýÿçğıişąćęłńóśźżė

Aber: Manche dieser Zeichen (ş ą ć ę ł ń ś ź ż ė) lassen sich aber nicht in das VBA-Script kopieren, sie verlieren beim Einfügen dort ihre Akzente.

Hat jemand eine Idee, wie ich nun vorgehen kann?