E-Mails in Excel einfügen: So liest du E-Mail-Adressen und Betreff aus
Schritt-für-Schritt-Anleitung
Um E-Mail-Adressen und Betreff aus weitergeleiteten E-Mails in Excel zu extrahieren, folge diesen Schritten:
-
Öffne Excel und aktiviere den VBA-Editor:
- Drücke
ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf „VBAProject (deinWorkbookName)“ und wähle „Einfügen“ > „Modul“.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub GrapText()
Dim objOutlook As Object
Dim objnSpace As Object
Dim objFolder As Object
Dim objMsg As Object
Dim intCounter As Integer, intCount As Integer, iRow As Integer
Dim sTxt As String
Dim Text As String
' Hier den Text der in der E-Mail vorkommt angeben
Text = "Wenden Sie sich an Ihren Systemadministrator"
Application.ScreenUpdating = False
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = objnSpace.folders("Persönliche Ordner").folders("Gesendete Objekte")
intCount = objFolder.Items.Count
If intCount > 0 Then
For intCounter = 1 To intCount
Set objMsg = objFolder.Items(intCounter)
If InStr(1, objFolder.Items(intCounter).body, Text) > 0 Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
objMsg.SaveAs ThisWorkbook.Path & "\temp.txt", olTXT
Close
iRow = 0
Open ThisWorkbook.Path & "\temp.txt" For Input As #1
Do Until EOF(1)
iRow = iRow + 1
Line Input #1, sTxt
Cells(iRow, 1).Value = "'" & sTxt
Loop
Close
End If
Next intCounter
Kill ThisWorkbook.Path & "\temp.txt"
End If
Set objnSpace = Nothing
Set objFolder = Nothing
Set objMsg = Nothing
Set objOutlook = Nothing
End Sub
-
Passe den Code an:
- Stelle sicher, dass der Text in der Variablen
Text
dem entspricht, was du aus der E-Mail extrahieren möchtest.
-
Führe das Makro aus:
- Schließe den VBA-Editor und gehe zurück zu Excel. Drücke
ALT + F8
, wähle GrapText
und klicke auf „Ausführen“.
Häufige Fehler und Lösungen
-
Fehler: „Objekt nicht gefunden“
Lösung: Stelle sicher, dass der Ordnername „Persönliche Ordner“ und „Gesendete Objekte“ korrekt ist. Überprüfe auch, ob Outlook geöffnet ist.
-
Fehler: Keine Daten werden in Excel eingefügt
Lösung: Überprüfe, ob der Text in der E-Mail tatsächlich mit dem angegebenen Text übereinstimmt.
Alternative Methoden
Falls der VBA-Code nicht deinen Anforderungen entspricht, kannst du auch folgende Methoden in Betracht ziehen:
-
Power Query: Verwende Power Query in Excel, um Daten aus E-Mails zu importieren, sofern du Zugriff auf den E-Mail-Server hast.
-
Manuelle Kopie: Wenn es sich um wenige E-Mails handelt, kannst du die E-Mail-Adresse und den Betreff manuell kopieren und in Excel einfügen.
Praktische Beispiele
Wenn du zum Beispiel regelmäßig E-Mails von einem bestimmten Absender erhältst, kannst du den Text „Wenden Sie sich an Ihren Systemadministrator“ durch den spezifischen Betreff oder die E-Mail-Adresse ersetzen, um nur relevante E-Mails auszulesen.
Tipps für Profis
-
Automatisierung: Automatisiere den Prozess, indem du einen Zeitplan für die Ausführung deines Makros einrichtest, um regelmäßig E-Mails in Excel einzufügen.
-
Datenvalidierung: Implementiere Datenvalidierungsregeln in Excel, um sicherzustellen, dass nur korrekte E-Mail-Adressen und Betreffzeilen erfasst werden.
FAQ: Häufige Fragen
1. Kann ich E-Mails aus anderen Ordnern importieren?
Ja, du musst lediglich den Ordnernamen im VBA-Code anpassen.
2. Funktioniert dieses Verfahren auch mit anderen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010 und neuer.
3. Was muss ich tun, wenn ich mehrere E-Mail-Adressen gleichzeitig verarbeiten möchte?
Du kannst den Code so anpassen, dass er mehrere Suchbegriffe in einer Schleife durchläuft und die entsprechenden E-Mail-Adressen und Betreffzeilen speichert.