Excel Tabellenblatt per Mail versenden
Schritt-für-Schritt-Anleitung
Um ein einzelnes Tabellenblatt aus Excel per Mail zu versenden, kannst Du das folgende VBA-Makro verwenden. Stelle sicher, dass Du Excel 2016 oder eine neuere Version nutzt.
- Öffne Excel und erstelle ein neues Modul im VBA-Editor (drücke
ALT + F11).
- Füge den folgenden Code in das Modul ein:
Private Sub CommandButton1_Click()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String, wksMail As Worksheet
Set wksMail = Sheets(1) 'zu versendendes Blatt
AWS = Environ("USERPROFILE") & "\" & wksMail.Name & ".xls"
'temporäre Mappe erstellen
wksMail.Copy
With ActiveWorkbook
.SaveAs AWS
.Close
End With
Application.Visible = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "@.de"
.Cc = ""
.Subject = "Bitte ergänzen " & Date & Time
.Attachments.Add AWS
.Body = "Anbei Daten" & vbCrLf & ""
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Kill AWS 'temporäre Mappe löschen
End Sub
- Passe die E-Mail-Adresse im Code an.
- Führe das Makro aus, um das Tabellenblatt zu versenden.
Häufige Fehler und Lösungen
-
Fehler: Die Datei existiert bereits
Wenn Du die Meldung erhältst, dass die Datei bereits existiert, stelle sicher, dass der Dateiname einzigartig ist. Du kannst z. B. das Datum oder die Uhrzeit in den Dateinamen einfügen.
-
Laufzeitfehler 1004
Dieser Fehler tritt auf, wenn die Datei nicht gespeichert werden kann. Achte darauf, dass die Datei nicht bereits geöffnet ist und dass Du die richtigen Berechtigungen zum Speichern hast.
-
Abfrage zum Speichern der Datei
Um die Abfrage zu vermeiden, kannst Du den Dateispeicherort in den Code integrieren, sodass die Datei automatisch überschrieben wird.
Alternative Methoden
Du kannst auch die folgenden Methoden verwenden:
-
Excel Tabelle als E-Mail versenden
Statt das Tabellenblatt als Anhang zu versenden, kannst Du den Inhalt direkt in die E-Mail einfügen. Hierfür musst Du die .HTMLBody-Eigenschaft anpassen.
-
Einzelnes Excel Blatt versenden
Wenn Du nur ein Blatt versenden möchtest, kannst Du das Blatt in eine neue Arbeitsmappe kopieren und diese dann per E-Mail versenden.
Praktische Beispiele
Hier sind einige praktische Beispiele für das Versenden von Tabellenblättern:
-
Einzelnes Tabellenblatt per Mail versenden
Verwende das obige Makro, um das erste Blatt in der Arbeitsmappe zu versenden.
-
Mehrere Blätter versenden
Du kannst auch mehrere Blätter in einer neuen Arbeitsmappe kopieren und diese dann als Anhang versenden.
Tipps für Profis
- Automatisierung: Automatisiere den Versand von Tabellenblättern mit einem Timer, sodass z. B. wöchentliche Berichte automatisch versendet werden.
- Fehlerbehandlung: Integriere Fehlerbehandlungsroutinen in Dein Makro, um unerwartete Probleme elegant zu lösen.
- Benutzerdefinierte E-Mail-Vorlagen: Erstelle Vorlagen für häufige E-Mail-Nachrichten, um den Prozess weiter zu optimieren.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Tabellenblätter aus Excel versenden?
Du kannst mehrere Blätter kopieren und in einer neuen Arbeitsmappe speichern, die dann versendet wird.
2. Funktioniert das Makro auch auf einem Mac?
Das obige Makro ist für Windows und Outlook optimiert. Für Mac musst Du eventuell Anpassungen vornehmen, insbesondere in Bezug auf die E-Mail-Integration.
3. Kann ich das Makro anpassen, um andere Dateiformate zu verwenden?
Ja, Du kannst die .SaveAs-Methode anpassen, um andere Formate wie .xlsx oder .pdf zu verwenden.
4. Was mache ich, wenn ich keinen Zugriff auf Outlook habe?
In diesem Fall kannst Du alternative E-Mail-Clients verwenden, indem Du die entsprechenden Objekte in VBA anpasst.