Senden einzelner Arbeitsblätter per E-Mail (Microsoft Excel)
Deutsch fragte, ob es eine Möglichkeit gibt, ein Arbeitsblatt in einer Arbeitsmappe als E-Mail-Anhang zu senden, ohne die gesamte Arbeitsmappe zu senden. Die kurze Antwort lautet: Sie können nicht – ein Arbeitsblatt allein kann nicht als „Entität“
existieren dass Sie an eine E-Mail anhängen können. Sie können Dateien nur als Anhänge an E-Mails senden. Dies bedeutet, dass Sie eine Arbeitsmappendatei zum Senden benötigen.
Natürlich ist es einfach, eine Arbeitsmappe aus einem einzigen Arbeitsblatt zu erstellen. Wenn Sie dies nur gelegentlich tun müssen, ist es am einfachsten, die folgenden Schritte auszuführen:
-
Klicken Sie mit der rechten Maustaste auf die Registerkarte für das Arbeitsblatt, das Sie per E-Mail senden möchten.
-
Wählen Sie im daraufhin angezeigten Kontextmenü die Option Verschieben oder Kopieren. Excel zeigt das Dialogfeld Verschieben oder Kopieren an. (Siehe Abbildung 1.)
-
Wählen Sie in der Dropdown-Liste Zu buchen die Option Neues Buch.
-
Stellen Sie sicher, dass das Kontrollkästchen Kopie erstellen aktiviert ist.
-
OK klicken.
Zu diesem Zeitpunkt sollte eine neue Arbeitsmappe mit einem einzelnen Arbeitsblatt angezeigt werden – eine Kopie des Arbeitsblatts, das Sie senden möchten. Speichern Sie diese Arbeitsmappe und senden Sie sie per E-Mail, und Sie haben das erreicht, was Sie tun wollten. Sobald es per E-Mail versendet wurde, können Sie die Arbeitsmappe von Ihrem System löschen, da sich Ihr Arbeitsblatt ebenfalls noch in der ursprünglichen Arbeitsmappe befindet.
Wenn Sie das aktuelle Arbeitsblatt routinemäßig per E-Mail an eine andere Person senden müssen, möchten Sie möglicherweise ein Makro erstellen, das die Aufgabe für Sie erledigt. Das von Ihnen erstellte Makro hängt vom verwendeten E-Mail-Programm ab. Aus diesem Grund ist es in diesem Tipp nicht möglich, eine umfassende makrobasierte Antwort zu geben. Es kann jedoch lehrreich sein, ein Beispiel für ein Makro anzugeben, mit dem ein Arbeitsblatt mit Outlook als E-Mail-Programm per E-Mail versendet werden kann.
Sub EmailWithOutlook() Dim oApp As Object Dim oMail As Object Dim WB As Workbook Dim FileName As String Dim wSht As Worksheet Dim shtName As String Application.ScreenUpdating = False ' Make a copy of the active worksheet ' and save it to a temporary file ActiveSheet.Copy Set WB = ActiveWorkbook FileName = WB.Worksheets(1).Name On Error Resume Next Kill "C:\" & FileName On Error GoTo 0 WB.SaveAs FileName:="C:\" & FileName 'Create and show the Outlook mail item Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(0) With oMail 'Uncomment the line below to hard code a recipient '.To = "[email protected]" 'Uncomment the line below to hard code a subject '.Subject = "Subject Line" 'Uncomment the lines below to hard code a body '.body = "Dear John" & vbCrLf & vbCrLf & _ '"Here is the file you asked for" .Attachments.Add WB.FullName .Display End With 'Delete the temporary file WB.ChangeFileAccess Mode:=xlReadOnly Kill WB.FullName WB.Close SaveChanges:=False 'Restore screen updating and release Outlook Application.ScreenUpdating = True Set oMail = Nothing Set oApp = Nothing End Sub
Beachten Sie, dass das Makro effektiv das tut, was in den vorherigen Schritten getan wurde:
Das Arbeitsblatt wird in eine neue Arbeitsmappe kopiert und anschließend per E-Mail an diese Arbeitsmappe gesendet. Anschließend wird die Arbeitsmappe gelöscht und Sie kehren zu Ihrer normalen Verwendung von Excel zurück.
Das Makro speichert die temporäre Arbeitsmappe (die per E-Mail versendete) auf dem Laufwerk C:. Wenn Sie die Arbeitsmappe lieber an einem anderen Ort speichern möchten (oder wenn Ihre Systemeinschränkungen Sie daran hindern, Dateien im Stammverzeichnis Ihres Systems zu speichern), ändern Sie einfach den Speicherort in den beiden Codezeilen, die auf das Laufwerk C: verweisen.
Die Verwendung des in diesem Tipp beschriebenen Ansatzes hat einen möglichen Nachteil: Wenn Sie eine Kopie des Arbeitsblatts in eine neue Arbeitsmappe erstellen, kann Excel einige lustige Dinge mit einigen Verweisen tun, die möglicherweise im kopierten Arbeitsblatt enthalten sind. Angenommen, Sie möchten Sheet1 aus der ursprünglichen Arbeitsmappe kopieren und per E-Mail versenden. Blatt1 enthält jedoch einige Verweise in Formeln auf Zellen in Blatt2 und Blatt3. Wenn Sie die Kopie von Sheet1 in die neue Arbeitsmappe erstellen, behält Excel diese Verweise auf die Blätter in der ursprünglichen Arbeitsmappe bei. Während das kopierte Blatt1 per E-Mail an eine andere Person gesendet werden kann, funktionieren die Referenzen beim Versuch, es zu öffnen, nicht mehr ordnungsgemäß, da auf die ursprüngliche Arbeitsmappe nicht verwiesen wird.
Hierfür gibt es drei mögliche Lösungen. Das erste ist natürlich, sicherzustellen, dass Sie nicht ein einziges Arbeitsblatt in der neuen Arbeitsmappe per E-Mail versenden, sondern alle Arbeitsblätter, die der Empfänger möglicherweise benötigt. Die zweite Lösung besteht darin, mithilfe von Kopier- und Einfügetechniken Werte in die neue Arbeitsmappe einzufügen.
Schließlich können Sie das Originalarbeitsblatt kopieren und dann in der Kopie nach allen externen Referenzen suchen und diese entfernen.
Wenn Sie eine ausführlichere Diskussion darüber wünschen, wie Sie ein Arbeitsblatt mit verschiedenen Programmen per E-Mail versenden können, sollten Sie unbedingt die folgende Webseite besuchen:
http://www.rondebruin.nl/win/section1.htm
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (8508) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: