07.12.2022, 15:01
Hallo Zusammen,
mit dem Makro aus dem Internet versende ich das jeweilig aktive Blatt an eine Mail Adresse.
Gerne würde ich nicht nur aus Zelle A2 in Tabelle16 (Verteiler) die Mail holen sondern aus dem Bereich A2:A20.
So das man die Mail Adressen schön untereinander schreiben kann.
Wenn ich A2:A20 eingebe kommt die Meldung das diese Methode nicht unterstützt wird.
Kann mir bitte jemand helfen ?
Gruß dragonxxl
mit dem Makro aus dem Internet versende ich das jeweilig aktive Blatt an eine Mail Adresse.
Gerne würde ich nicht nur aus Zelle A2 in Tabelle16 (Verteiler) die Mail holen sondern aus dem Bereich A2:A20.
So das man die Mail Adressen schön untereinander schreiben kann.
Wenn ich A2:A20 eingebe kommt die Meldung das diese Methode nicht unterstützt wird.
Kann mir bitte jemand helfen ?
Gruß dragonxxl
Code:
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
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
'** Mail erzeugen
With Mail
.GetInspector.Display
olOldbody = .htmlBody
.To = Tabelle16.Range("A2:A20").Value 'Blattname Verteiler
'.CC = ""
.Subject = "Test" 'Betreff
.BodyFormat = 2 '2 = HTML, 1 = Text
.Attachments.Add strDatei 'Anhang
.htmlBody = "Hallo!<br><br>Anbei gewünschte Informationen.<br><br>" & _
"Test Test <br><br>" & Range("X1") & _
"<br><br><br><br><br>" & olOldbody
End With
'** Erzeugte Datei schließen
Workbooks(Dir(strDatei)).Close
'** Erzeugte Datei wieder löschen
Kill (strDatei)
'** E-Mail anzeigen
Mail.Display
End Sub