Zum Inhalt

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 Dokumentes 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 Zeit angeben 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 empfaenger@e-mail.de definiert. Es wird deshalb keine Inputbox mehr benötigt und die Tabelle wird sofort per Mail versendet.

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj