Möchte gerne ein Tabellenblatt versenden, für den BodyText, Mail To, CC und Betreff möchte ich die entsprechenden Daten aus Zellen einfügen.
Dabei bekomme ich eine Fehlermeldung angezeigt "Index außerhalb vom Bereich"
Was mache ich da falsch?
Sub Auswertung_Pivot_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 = "D:\Auftragsverwaltung" '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 ab hier kommt die Fehlermeldung
strBodyText = Worksheets("Ausw1").Range("N1").Value & Chr(13) & Chr(13) _
& Worksheets("Ausw1").Range("O1").Value & Chr(13) & Worksheets("Ausw1").Range("P1").Value & Chr(13) _
& Worksheets("Ausw1").Range("Q1").Value
'** Mail erzeugen
With Mail
.To = Worksheets("Ausw1").Range("L1").Value
.CC = Worksheets("Ausw1").Range("M1").Value
.Subject = Worksheets("Ausw1").Range("O1").Value '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
Für Eure Hilfe schon mal ein Danke schönGruß, Guesa