E-Mail Adressen aus E-Mail Text extrahieren in Excel
Schritt-für-Schritt-Anleitung
Um E-Mail Adressen aus dem Text von E-Mails zu extrahieren, kannst du ein VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT
+ F11
, um den VBA-Editor zu starten.
-
Füge ein neues Modul ein: Klicke im Menü auf Einfügen
und dann auf Modul
.
-
Kopiere den folgenden VBA-Code in das Modul:
Option Explicit
Sub GrapText()
Dim objOutlook As Object
Dim objnSpace As Object
Dim objFolder As Object
Dim intCounter As Integer, intCount As Integer, lRow As Long
Dim sTxt As String, Text As String
Dim strAr1, strAr2() As String
Cells(1, "A") = "Mailadressen": Cells(1, "A").Font.Bold = True
lRow = 2 'ab welcher Zeile einfügen
Text = LCase("Undelivered Mail Returned to Sender")
With Application
.ScreenUpdating = False
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = objnSpace.Folders("Persönlicher Ordner").Folders("Junk-E-Mail")
intCount = objFolder.Items.Count
If intCount > 0 Then
For intCounter = intCount To 1 Step -1
.StatusBar = "Bitte warten, es werten noch " & intCounter & " E-Mails untersucht"
If InStr(1, LCase(objFolder.Items(intCounter).Subject), Text) > 0 Then
sTxt = objFolder.Items(intCounter).Body
strAr2 = Split(sTxt, " ") ' Hier nach Leerzeichen splitten
For i = LBound(strAr2) To UBound(strAr2)
If InStr(strAr2(i), "@") > 0 Then ' Überprüfen, ob es eine E-Mail Adresse ist
Cells(lRow, "A") = Cells(lRow, "A") & strAr2(i) & ";"
End If
Next i
lRow = lRow + 1
End If
Next intCounter
End If
.StatusBar = False
.ScreenUpdating = True
End With
Set objnSpace = Nothing
Set objFolder = Nothing
Set objOutlook = Nothing
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Skript aus: Drücke ALT
+ F8
, wähle GrapText
und klicke auf Ausführen
.
Das Skript durchsucht den Ordner "Junk-E-Mail" und extrahiert E-Mail Adressen aus unzustellbaren Mails.
Häufige Fehler und Lösungen
-
Fehlermeldung bei der Ordnersuche: Stelle sicher, dass der Pfad zu deinem "Junk-E-Mail" Ordner korrekt ist. Manchmal kann die Struktur leicht abweichen, insbesondere bei unterschiedlichen Outlook-Versionen.
-
Keine E-Mail Adressen gefunden: Überprüfe, ob die E-Mails tatsächlich im richtigen Ordner sind und ob der Betreff korrekt eingegeben wurde.
Alternative Methoden
Wenn du keine VBA-Skripte verwenden möchtest, kannst du auch Excel-Formeln nutzen, um E-Mail Adressen zu filtern. Hier ein Beispiel:
- Angenommene Daten: Angenommen, die E-Mail Texte stehen in den Zellen A1 bis A10.
-
Benutze diese Formel in Zelle B1:
=TEXTJOIN(";", WAHR, FILTER(A1:A10, ISNUMBER(SEARCH("@", A1:A10)), ""))
Diese Formel filtert alle Zellen in A1:A10, die eine E-Mail Adresse enthalten und verbindet sie in einer Zelle.
Praktische Beispiele
Angenommen, du hast folgende E-Mail Texte:
- "Die E-Mail an test@example.com war unzustellbar."
- "Bitte sende eine E-Mail an hello@domain.com."
Mit dem oben genannten Skript oder der Formel kannst du die E-Mail Adressen test@example.com
und hello@domain.com
extrahieren.
Tipps für Profis
- Debugging: Wenn dein Skript nicht funktioniert, setze Breakpoints im VBA-Editor, um den Code Schritt für Schritt zu überprüfen.
- Reguläre Ausdrücke: Für komplexere E-Mail Formate kannst du auch reguläre Ausdrücke verwenden, um E-Mail Adressen noch präziser herauszufiltern.
- Automatisierung: Du kannst das Skript so anpassen, dass es automatisch bei bestimmten Ereignissen ausgeführt wird, z.B. beim Öffnen von Excel.
FAQ: Häufige Fragen
1. Funktioniert das Skript in allen Excel-Versionen?
Ja, das Skript ist für die Microsoft Excel Versionen 2007 und 2010 geeignet, aber es kann in neueren Versionen ebenfalls verwendet werden.
2. Kann ich das Skript anpassen, um nur bestimmte Domains zu filtern?
Ja, du kannst die Bedingung im Code anpassen, um nur E-Mail Adressen mit bestimmten Domains zu extrahieren, indem du die If
-Bedingung im Skript modifizierst.
3. Was tun, wenn ich eine Fehlermeldung bekomme?
Überprüfe den Code auf Syntaxfehler und stelle sicher, dass alle benötigten Bibliotheken in Excel aktiviert sind. Debugging kann helfen, die genaue Fehlerquelle zu finden.