Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

RegExp und Umlaute ersetzen

Forumthread: RegExp und Umlaute ersetzen

RegExp und Umlaute ersetzen
ing.grohn
Hallo forum,
im Netz habe ich folgende Routine gefunden:

strText = "schönes Haus an einer Bergstraße"
suchen = Array("ä", "ö", "ü", "ß", " ", "\\", "/")
ersetzen = Array("ae", "oe", "ue", "ss", "_", "-", "-")
strText = str_replace(suchen, ersetzen, strtolower(strText))

lässt sich das auch mit regulären Ausdrücken realisieren
Vielen Dank für eine Antwort und einen schönen Abend
Mit freundlichen Grüßen
Albrecht
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: RegExp und Umlaute ersetzen
08.01.2012 23:20:33
Josef

Hallo Albrecht,
dem Anschein nach handelt es sich dabei um php-Code, die entsprechenden Funktionen sind in VBA nicht enthalten.
das geht in VBA z. B. so.
Sub albrecht()
  Dim strText As String
  Dim suchen As Variant, ersetzen As Variant
  Dim lngIndex As Long
  
  strText = "schönes Haus an einer Bergstraße"
  suchen = Array("ä", "ö", "ü", "ß", " ", "\\", "/")
  ersetzen = Array("ae", "oe", "ue", "ss", "_", "-", "-")
  
  For lngIndex = 0 To UBound(suchen)
    strText = Replace(strText, suchen(lngIndex), ersetzen(lngIndex))
  Next
  
  Debug.Print strText
  
End Sub



« Gruß Sepp »

Anzeige
AW: RegExp und Umlaute ersetzen
09.01.2012 06:21:57
ing.grohn
Hallo Sepp,
frohes Neues und ohne viele Worte: vielen Dank!
Mit freundlichen Grüßen
Albrecht
;
Anzeige
Anzeige

Infobox / Tutorial

Umlaute in Excel mit RegExp ersetzen


Schritt-für-Schritt-Anleitung

Um Umlaute in Excel mit regulären Ausdrücken (RegExp) zu ersetzen, kannst du folgendes VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub UmlauteErsetzen()
    Dim strText As String
    Dim regex As Object

    ' Text, in dem Umlaute ersetzt werden sollen
    strText = "schönes Haus an einer Bergstraße"

    ' Erstelle ein RegExp-Objekt
    Set regex = CreateObject("VBScript.RegExp")

    ' Definiere das Muster für Umlaute
    regex.Pattern = "[äöüß]"
    regex.Global = True

    ' Ersetze Umlaute
    strText = regex.Replace(strText, Function(match)
        Select Case match.Value
            Case "ä": Replace = "ae"
            Case "ö": Replace = "oe"
            Case "ü": Replace = "ue"
            Case "ß": Replace = "ss"
        End Select
    End Function)

    Debug.Print strText
End Sub
  1. Schließe den VBA-Editor und führe das Makro UmlauteErsetzen aus, um die Umlaute zu ersetzen.

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Lösung: Stelle sicher, dass du die richtige Referenz für das RegExp-Objekt hast. Überprüfe, ob du den richtigen Namespace verwendet hast.
  • Fehler: Keine Ersetzung erfolgt

    • Lösung: Überprüfe das Muster im regex.Pattern. Stelle sicher, dass es die gewünschten Umlaute korrekt erfasst.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch die Excel-Formel nutzen, um Umlaute zu ersetzen. Hier ist ein Beispiel, wie du dies mit der SUBSTITUTE-Funktion machen kannst:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "ä", "ae"), "ö", "oe"), "ü", "ue")

Diese Formel ersetzt die Umlaute direkt in der Zelle A1 und kann entsprechend angepasst werden.


Praktische Beispiele

  1. Beispiel 1: Ersetze in einer Liste von Namen die Umlaute.

    • Angenommen, du hast die Namen in Spalte A, dann kannst du die oben genannte SUBSTITUTE-Formel in Spalte B verwenden.
  2. Beispiel 2: Verwende VBA, um Umlaute in einem Textfeld zu ersetzen und das Ergebnis in einer MsgBox anzuzeigen:

Sub UmlauteMsgBox()
    Dim strText As String
    strText = "schönes Haus an einer Bergstraße"
    ' Ersetze Umlaute hier (Anwendung der vorher definierten Methode)
    MsgBox strText
End Sub

Tipps für Profis

  • Nutze die Replace-Funktion effizient, indem du alle Umlaute in einem Durchgang ersetzt, anstatt sie einzeln zu behandeln.
  • Experimentiere mit komplexeren regulären Ausdrücken, um zusätzliche Zeichen zu ersetzen.
  • Wenn du oft mit Umlaute in Excel arbeitest, erstelle ein Add-in, das diese Funktionalität bietet.

FAQ: Häufige Fragen

1. Kann ich RegExp auch in Excel-Formeln verwenden? RegExp kann nicht direkt in Excel-Formeln verwendet werden, aber du kannst VBA verwenden, um diese Funktionalität zu integrieren.

2. Welche Excel-Version benötige ich für VBA? VBA ist in den meisten Excel-Versionen verfügbar, einschließlich Excel 2010 bis 2021 sowie in Excel für Microsoft 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige