Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

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.

 

   

Relevante Artikel

  • Neues benanntes Blatt hinzufügen

    Der folgende VBA-Code fügt zur bestehenden Arbeitsmappe ein neues Blatt hinzu und gibt diesem einen Namen. Das neue Blatt wird rechts als letztes Tabellenblatt angefügt. Der VBA-Code prüft, ob das...

  • Verschiedenes Rund um den Blattschutz

    102003 Verschiedenes Rund um den Blattschutz  Blattschutz herstellen und das Gruppieren erlauben Privat Sub Workbook_Open() ActiveSheet.Protect password:="Geheim" Contents:=True,...

  • Zellinhalt automatisch als Blattname verwenden

    102028 Mit dem folgenden Makro wird der Inhalt der Zelle A5 automatisch als Blattname verwendet unddas Tabellenblatt entsprechend umbenannt. Dieses Makro muss in das Tabellenblatt eingefügt werde in...

  • Arbeitsblätter in jeweils einer eigenen Arbeitsmappe speichern

    102006 Die folgende Prozedur speichert alle Arbeitsblätter einer Mappe in jeweils extra Arbeitsmappen ab. Die neu erzeugten Arbeitsmappen werden im gleichen Verzeichnis abgelegt, in dem sich die...

  • Einfügen von neuem Tabellenblatt verhindern

    Wenn Sie eine Kalkulation oder ein anderes Excel-Tool erstellen, gibt es immer wieder die Anforderung, dass zu den bestehenden Tabellenblätter keine neuen hinzugefügt werden sollen, um...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013