Aktives Tabellenblatt per E-Mail verschicken

Mit einem VBA-Makro lässt sich sehr einfach die aktuell geöffnete Tabelle per E-Mail versenden.

Achtung es wird nicht die Arbeitsmappe versendet, sondern nur die Tabelle!

Sub EMailAktivesTabellenblatt()
'
' Versendet die aktuelle Tabelle per E-Mail
'
Dim Empfänger As String
Dim str_Zeit As String

str_Zeit = Time

Empfänger = inputbox("Geben Sie den Empfänger der E-Mail ein!")
If Empfänger = "" Then Exit Sub
ActiveWorkbook.ActiveSheet.Copy
ActiveWorkbook.SaveAs "Name" & Date & "_" & Format(str_Zeit, "hhmm") & ".xls"
ActiveWorkbook.SendMail Recipients:=Empfänger, Subject:="Betreff"
ActiveWorkbook.Close savechanges:=False

End Sub

Der Code ist an die Anforderungen anzupassen:

  • ActiveWorkbook.SaveAs

    Die Tabelle wird als Kopie in den temporären Speicher des Betriebssystems geladen. Hier geben Sie an, wie die Kopie zu benennen ist.

  • ActiveWorkbook.SendMail Recipients:=Empfänger, Subject:="Betreff"

    In diesem Bereich legen Sie den Empfänger und den Betreff fest. Der Empfänger wurde zuvor über eine Inputbox abgefragt un der Variablen „Empfänger“ übergeben. Hier wird nun die Variable „Empfänger“ ausgelesen und an das E-Mail-Programm an tatsächlicher Empfänger übergeben.

  • ActiveWorkbook.Close savechanges:=False

    Verhindert das Speichern von Änderungen in die Kopie. Es wird also kein störender Dialog aufgerufen, sondern die Datei sofort versendet.

Weiteres:

Soll der Name ihres Dokument die aktuelle Zeit beinhalten, dann reicht es nicht aus, einfach nur den Befehl „Time“ zu setzen. Die Dateinamen dürfen keine Sonderzeichen enthalten, also auch der Doppelpunkt (:) bei der Zeitangabe. Die Zeitangeben müssen zuvor formatieren werden. Das erledigen lässt sich einfach mit dem Befehl erledigen:

Format(str_Zeit, "hhmm")

Das Datum kann wie gewohnt mit dem Befehl „Date“ eingefügt werden.

Soll die Tabelle immer an einen festen Empfänger gesendet werden, dann ändern ist die Variable zu ändern:

Empfänger = inputbox("Geben Sie den Empfänger der E-Mail ein!")


Der Empfänger wird als definiert. Es wird deshalb keine Inputbox mehr benötigt und die Tabelle wird sofort per Mail versendet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.