Einzelnes Tabellenblatt per E-Mail versenden

Dieses Makro versendet das aktive Tabellenblatt per E-Mail über Outlook. Wenn der VBA-Code ausgeführt wird, wird automatisch das aktive Tabellenblatt an eine neue E-Mail angefügt und die E-Mail über Outlook angezeigt.

Die E-Mail wird nicht sofort versendet, damit Sie die E-Mail noch ergänzen können. So müssen Sie beispielsweise noch die notwendigen E-Mail-Adressen sowie einen Betreff und einen E-Mail Text eingeben. 

In dem Beispiel wird bereits eine Signatur in die E-Mail eingefügt. Den Text können Sie natürlich beliebig verändern.

Der VBA-Code ist auch dafür vorgesehen die Empfänger-E-Mail Adresse direkt vorzugeben. Tragen Sie dazu in der Zeile .To und .CC einfach die gewünschten E-Mail Adressen ein.
Wenn Sie möchten können Sie dem Parameter .Subject auch eine Betreffzeile vorgeben.

Sub einzelnes_Blatt_senden()
'** Das aktive Tabellenblatt wird über Outlook versendet
'** Dimensionierung der Variablen
Dim strBlatt As String
Dim strDatei As String
Dim strPfad As String
Dim outObj As Object
Dim Mail As Object
Dim strBodyText As String
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
'** Pfad für temporäre Zwischenspeicherung angeben
strPfad = "C:\Temp" 'entsprechend anpassen
'** Aktuelles aktives Blatt in neue Arbeitsmappe kopieren
strBlatt = ActiveSheet.Name
'** Gewähltes Tabellenblatt kopieren
Sheets(strBlatt).Copy
'** Blatt temporär in vorgegebenes Verzeichnis abspeichern
ActiveWorkbook.SaveAs strPfad & "\" & ActiveSheet.Name

'** Pfad und Dateiname der neuen Datei zwischenspeichern
strDatei = ActiveWorkbook.FullName

'** Body-Text festlegen
strBodyText = _
"Mit freundlichen Grüßen" & Chr(13) & Chr(13) & _
"Alois Eckl" & Chr(13) & _
"Excel-Inside Solutions, Grabbestr. 25, 90427 Nürnberg" & Chr(13) & _
"Auftragsprogrammierung - Anwendungsentwicklung" & Chr(13) & _


'** Mail erzeugen
With Mail
'.To = ""
'.CC = ""
.Subject = "" 'Betreff
.BodyFormat = 2 '2 = HTML, 1 = Text
.Attachments.Add strDatei 'Anhang
.Body = strBodyText 'Bodytext / Signatur
End With

'** Erzeugte Datei schließen
Workbooks(Dir(strDatei)).Close

'** Erzeugte Datei wieder löschen
Kill (strDatei)

'** E-Mail anzeigen
Mail.Display
End Sub



Damit das Programm funktioniert muss der Pfad für die temporäre Zwischenspeicherung des E-Mail Anhangs  in der Variable strPfad definiert werden. Hier können Sie ein beliebiges Verzeichnis wählen (mit Schreibrechten), da die gespeicherte Datei nach dem Senden gleich wieder gelöscht wird.

 

Partnerlinks

Relevante Artikel

Wir benutzen Cookies
Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.