Tabellenblatt via Email verschicken und speichern
Schritt-für-Schritt-Anleitung
Um ein einzelnes Tabellenblatt aus Excel zu versenden, kannst du ein Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und lade die Arbeitsmappe mit den Tabellenblättern.
-
Öffne den VBA-Editor: Drücke ALT + F11
.
-
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
-
Kopiere den folgenden Code in das Modul:
Sub MailSenden()
Application.ScreenUpdating = False
On Error Resume Next
Dim empfänger As String
Dim i As Integer
Dim aws As String
Dim olapp As Object
For i = 1 To 50
Sheets(i).Activate
empfänger = Sheets(i).Range("C3").Value
ActiveWorkbook.ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name & ".xlsx"
aws = ActiveWorkbook.FullName
Set olapp = CreateObject("Outlook.Application")
With olapp.CreateItem(0)
.To = empfänger
.Subject = "Abrechnung vom " & Date
.HtmlBody = "Sehr geehrte Damen und Herren,<br> anbei die Abrechnung.<br> Mit freundlichen Grüßen,<br> Unterschrift"
.Attachments.Add aws
.Display
SendKeys "%s", True 'Mail sofort senden
End With
ActiveWorkbook.Close False
Next i
Sheets(1).Activate
Application.ScreenUpdating = True
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus: Drücke ALT + F8
, wähle MailSenden
und klicke auf "Ausführen".
Mit diesem Makro kannst du ein einzelnes Tabellenblatt per Mail versenden, ohne jedes Blatt manuell speichern zu müssen.
Häufige Fehler und Lösungen
-
Schleifenproblematik: Wenn das Makro in einer Schleife hängt, stelle sicher, dass du die Anzahl der zu versendenden Blätter korrekt eingestellt hast. Überprüfe auch, ob die Schleife nicht auf leere Blätter zugreift.
-
Syntaxfehler bei .HtmlBody: Achte darauf, dass der Text in HtmlBody
korrekt formatiert ist. Wenn du Anführungszeichen im Text verwendest, musst du sie durch ""
ersetzen.
-
Fehlende E-Mail-Adresse: Stelle sicher, dass in Zelle C3 eine gültige E-Mail-Adresse steht, sonst kann das Makro nicht versenden.
Alternative Methoden
Wenn du kein Makro verwenden möchtest, kannst du auch die Funktion "Speichern unter" verwenden, um das einzelne Tabellenblatt manuell als neue Datei zu speichern und dann die Datei in einer E-Mail anzuhängen.
- Rechtsklick auf das Tabellenblatt.
- Wähle "Verschieben oder Kopieren" und dann "Neues Arbeitsbuch".
- Speichere das neue Arbeitsbuch und füge es als Anhang in deiner E-Mail hinzu.
Praktische Beispiele
Ein Beispiel für den Versand eines einzelnen Tabellenblatts könnte so aussehen:
- Du hast eine Arbeitsmappe mit 50 Rechnungen in 50 verschiedenen Blättern.
- In Zelle C3 jedes Blattes steht die E-Mail-Adresse des Kunden.
- Mit dem oben genannten Makro werden alle Rechnungen automatisch als E-Mail verschickt, ohne dass du jedes Blatt einzeln speichern musst.
Tipps für Profis
- Testen: Teste das Makro zunächst mit einer kleinen Anzahl von Blättern, um sicherzustellen, dass alles wie gewünscht funktioniert.
- Automatisierung: Du kannst das Makro so einstellen, dass es regelmäßig ausgeführt wird, um wiederkehrende Berichte automatisch zu versenden.
- Fehlerprotokoll: Füge Funktionen hinzu, um Fehler zu protokollieren, falls eine E-Mail nicht gesendet werden kann.
FAQ: Häufige Fragen
1. Kann ich mehrere Tabellenblätter gleichzeitig versenden?
Ja, du kannst die For
-Schleife im Makro anpassen, um mehrere Blätter gleichzeitig zu versenden.
2. Wie kann ich das Makro anpassen, um nur ein bestimmtes Blatt zu versenden?
Ändere die Schleife und setze i
auf die Nummer des gewünschten Blatts, z.B. For i = 5 To 5
für das 5. Blatt.
3. Funktioniert das auch in der Mac-Version von Excel?
Die grundlegenden Funktionen sind ähnlich, jedoch kann die Interaktion mit Outlook in der Mac-Version abweichen. Es kann erforderlich sein, Anpassungen im Code vorzunehmen.