Hallo Zusammen,
ich habe folgendes Thema: ich möchte gerne ein Makro haben, worin ich zwei Excel-Arbeitsblätter speichere und per E-Mail versende. Die eine Excel-Mappe (Tabelle7) möchte ich als Excel-Tabelle gespeichert haben und das andere Arbeitsblatt (Tabelle11) möchte ich als PDF-Datei gespeichert haben. Beide Arbeitsblätter sollen in einer E-Mail an den Kunden gesendet werden.
Mein Code hängt ich habe zwei Fehler. Zum einen wird mir das falsche Arbeitsblatt als PDF gespeichert und zum anderen wird mir der -Fehler Laufzeit 9; Index außerhlab des gültigen Bereichs angezeigt-.
Kann mir hier jemand bitte helfen?
Vielen Dank im Voraus
ub Tabellenblätter_verschicken_3()
Dim DateiNameB As String
DateiNameB = Tabelle10.Range("F5").Value & "Probenahmebegleitschein" & Tabelle10.Range("F7").Value & ".xlsx"
Sheets("Probenahmebegleitschein").Copy
With ActiveWorkbook
.SaveAs Filename:=DateiNameB
.Close
End With
Dim DateiNameD As String
DateiNameD = Tabelle10.Range("F5").Value & "Informationsblatt Eiswürfel" & Tabelle10.Range("F7").Value
ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, Filename:=DateiNameD
Sheets("Informationsblatt Eiswürfel").Copy
With ActiveWorkbook
.SaveAs Filename:=DateiNameD
.Close
End With
Dim strhtml As String
Dim Outlook As Object
Dim OutlookMailItem As Object
Dim myAttachments As Object
Set OutlookApp = CreateObject("Outlook.application")
Set OutlookMailItem = OutlookApp.CreateItem(0)
Set myAttachments = OutlookMailItem.Attachments
With OutlookMailItem
.To = Tabelle10.Range("F8").Value
.Subject = Tabelle10.Range("F7").Value
strhtml = Range("F38").Value & " <br><br>"
strhtml = strhtml & Range("F40").Value & " <br><br><br>"
strhtml = strhtml & Range("F43").Value & " " & Range("G43").Value & "<br>"
strhtml = strhtml & Range("F44").Value & " " & Range("G44").Value & " <br>"
strhtml = strhtml & Range("F45").Value & " " & Range("G45").Value & "<br><br>"
strhtml = strhtml & Range("F47").Value & " <br>"
strhtml = strhtml & Range("F48").Value & "<br>"
strhtml = strhtml & Range("F49").Value & " <br>"
strhtml = strhtml & Range("F50").Value
.htmlbody = strhtml
.Attachments.Add DateiNameB
.Attachments.Add DateiNameD
.Display
End With
Set OutlookApp = Nothing
Set OutlookMailItem = Nothing
End Sub
|