Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Umlaute in vba werden ignoriert

Forumthread: Umlaute in vba werden ignoriert

Umlaute in vba werden ignoriert
Chris
Hy Leute...
ich habe folgenden Prozess:
1. Ich kopiere aus einer Quelle mehrere E-Mail Adressen.
2. Ich liste sie in einer Zelle einzeln auf mit Hilfe eines Zeilenumbruchs
3. Ich lese den Zeilenumbruch aus und schreib jede Adresse in eine eigene Neue Zeile.
Mein Problem:
Wenn eine Email-Adresse einen Umlaut enthält, dann liest er nicht die ganze Adresse.
Er lässt den Umlaut selber und alles was davor steht weg...
Eine Lösung?
Mein Code:
Option Explicit
Public Function Email_Filter(strB As String) As String
Dim varTmp() As Variant
Dim Regex As Object
Dim M
Dim Treffer
Dim lngIndex As Long
Set Regex = CreateObject("Vbscript.regexp")
With Regex
.Pattern = "\b(\w[-.\w]*@\w[-.\w]*\.[a-zA-Z]{2,6})\b"
.IgnoreCase = True
.Global = True
Set Treffer = .Execute(strB)
If .Test(strB) Then
ReDim varTmp(Treffer.Count)
For Each M In Treffer
varTmp(lngIndex) = M.Value
lngIndex = lngIndex + 1
Next
End If
End With
Email_Filter = Join(varTmp, vbCrLf)
End Function

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Umlaute in vba werden ignoriert
27.01.2011 14:26:29
Josef

Hallo Chris,
na klar, die werden ja auch durch das RegEx-Muster ausgeschlossen.

Gruß Sepp

Anzeige
AW: Umlaute in vba werden ignoriert
27.01.2011 14:33:28
Chris
Danke schonmal für die Erläuterung wieso...
aber hast du auch eine Lösung parat?
AW: Umlaute in vba werden ignoriert
27.01.2011 14:37:40
Josef

Hallo Chris,
die Lösung, das Muster entsprechen anpassen, RegEx ist aber nicht so mein Ding, findet sich aber sicher jemand der das hinkriegt.

Gruß Sepp

Anzeige
AW: Umlaute in vba werden ignoriert
27.01.2011 14:54:33
Chris
Ich hab eine Lösung...
Ich hab eine Extra Spalte eingefügt mit folgender Formel:
  • =WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(B3;"ü";"X");"ö";"X");"ä";"X");"Ü";"X");"Ö";"X");"Ä";"X");"ß";"X")

  • Dadurch fügt er mir bei jeder Email-Adresse mit einem Sonderzeichen ein großes X ein...
    Diese selektier ich einfach selber aus...es sollten ja nicht so viele sein
  • Anzeige
    AW: Umlaute in vba werden ignoriert
    27.01.2011 19:47:36
    ransi
    HAllo
    .Pattern = "\b([A-Za-zÄÖÜäöüß0-9_][-.A-Za-zÄÖÜäöüß0-9_]*@[A-Za-zÄÖÜäöüß0-9_][-.A-Za-zÄÖÜäöüß0-9_][-.A-Za-zÄÖÜäöüß0-9_]*\.[a-zA-Z]{2,6})\b"
    

    http://www.office-loesung.de/fpost1822917.php#1822917
    ransi
    Anzeige
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    Umlaute in VBA korrekt verarbeiten


    Schritt-für-Schritt-Anleitung

    Um E-Mail-Adressen mit Umlauten in VBA korrekt zu verarbeiten, kannst du folgende Schritte befolgen:

    1. Regex anpassen: Ändere dein Regex-Muster, um Umlaute zu berücksichtigen. Das könnte wie folgt aussehen:

      .Pattern = "\b([A-Za-zÄÖÜäöüß0-9_][-.A-Za-zÄÖÜäöüß0-9_]*@[A-Za-zÄÖÜäöüß0-9_][-.A-Za-zÄÖÜäöüß0-9_]*\.[a-zA-Z]{2,6})\b"
    2. Umlaute ersetzen: Wenn du nicht mit Regex arbeiten möchtest, könntest du Umlaute in den E-Mail-Adressen durch andere Zeichen ersetzen, bevor du die Adressen extrahierst. Dazu kannst du eine Formel in Excel verwenden:

      =WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(B3;"ü";"X");"ö";"X");"ä";"X");"Ü";"X");"Ö";"X");"Ä";"X");"ß";"X")
    3. E-Mail-Adressen generieren: Nachdem du die Umlaute ersetzt hast, kannst du die E-Mail-Adressen wie gewohnt extrahieren.


    Häufige Fehler und Lösungen

    • Fehler: Umlaute werden ignoriert und die E-Mail-Adresse wird nicht korrekt gelesen.

      • Lösung: Stelle sicher, dass dein Regex-Muster die Umlaute berücksichtigt, wie im Schritt oben beschrieben.
    • Fehler: Die Excel-Formel funktioniert nicht.

      • Lösung: Überprüfe die Zelle, in der du die Formel verwendest, und stelle sicher, dass sie korrekt eingegeben ist. Achte darauf, dass die Zelle B3 auf die richtige Adresse verweist.

    Alternative Methoden

    Wenn du mit VBA oder Excel-Formeln nicht weiterkommst, könntest du auch folgende Alternativen in Betracht ziehen:

    1. Excel-Add-Ins: Es gibt spezielle Add-Ins, die sich auf das Verarbeiten von E-Mail-Adressen spezialisiert haben. Diese können oft auch Umlaute korrekt verarbeiten.

    2. Online-Tools: Es gibt verschiedene Online-Tools, die Dir helfen können, E-Mail-Adressen zu bereinigen und zu formatieren, bevor Du sie in Excel importierst.


    Praktische Beispiele

    Hier sind einige Beispiele, wie du die oben genannten Methoden in der Praxis anwenden kannst:

    • Beispiel für Regex in VBA:

      Dim Regex As Object
      Set Regex = CreateObject("Vbscript.regexp")
      Regex.Pattern = "\b([A-Za-zÄÖÜäöüß0-9_][-.A-Za-zÄÖÜäöüß0-9_]*@[A-Za-zÄÖÜäöüß0-9_][-.A-Za-zÄÖÜäöüß0-9_]*\.[a-zA-Z]{2,6})\b"
    • Beispiel für Excel-Formel: Angenommen, du hast in Zelle B3 die E-Mail-Adresse müller@example.com. Du würdest die Formel wie folgt eingeben:

      =WECHSELN(B3;"ü";"X")

    Tipps für Profis

    • Regex optimieren: Nutze die Möglichkeit, Regex anzupassen, um spezifische Muster für E-Mail-Adressen zu erstellen, die Umlaute enthalten.
    • VBA-Funktionen: Erstelle wiederverwendbare Funktionen in VBA, um E-Mail-Adressen zu filtern und zu formatieren. So sparst du Zeit bei zukünftigen Projekten.
    • Datenvalidierung: Setze Datenvalidierungsregeln in Excel, um sicherzustellen, dass nur gültige E-Mail-Adressen eingegeben werden.

    FAQ: Häufige Fragen

    1. Wie kann ich sicherstellen, dass meine Regex richtig funktioniert? Du kannst deine Regex mit Tools wie regex101.com testen, bevor du sie in deinen Code integrierst.

    2. Was mache ich, wenn meine Excel-Formel nicht das gewünschte Ergebnis liefert? Überprüfe die Syntax der Formel und stelle sicher, dass sie auf die richtige Zelle verweist. Teste die Formel mit verschiedenen Beispielen, um sicherzustellen, dass sie alle Umlaute korrekt ersetzt.

    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