Erste freie Zelle für Mailbody
20.11.2015 14:07:15
Andreas
ich habe mir einen Code zusammensucht und gebastelt, mit dem eine Mail erstellt wird und ein bestimmter Bereich als Text eingefügt wird. Nun möchte ich gerne die letzte freie Zelle für diesen Bereich bestimmen (es sollen nicht so viel freie Zellen mit in die Mail), eigentlich ja simpel, funktioniert nur nicht...
Hier mein aktueller Text
'Funktion für Mailbody'
Private Function fncRangeToHtml(strWorksheetname As String, _
strRangeaddress As String) As String
Dim objFilesytem As Object, objTextstream As Object
Dim strFilename As String
strFilename = Environ$("temp") & "/" & _
Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=strWorksheetname, _
Source:=strRangeaddress, _
HtmlType:=xlHtmlStatic).Publish True
Set objFilesytem = CreateObject("Scripting.FileSystemObject")
Set objTextstream = objFilesytem.GetFile(strFilename). _
OpenAsTextStream(1, -2)
fncRangeToHtml = objTextstream.ReadAll
objTextstream.Close
Set objTextstream = Nothing
Set objFilesytem = Nothing
Kill strFilename
End Function
Private Sub Commandbutton1_Click()
'Email erstellen'
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector
.To = ""
.CC = ""
.Subject = "COB / " & Sheets("DATA").Range("B12").Text & " / " & Sheets("DATA"). _
Range("B8").Text & " / " & Sheets("DATA").Range("B1").Text & " / " & Sheets("DATA").Range("B11").Text
.htmlBody = fncRangeToHtml("Tab1", "A1:F35") & .htmlBody
.Attachments.Add strPfad & DatNam
.Display
End With
End Sub
Diese Funktion läuft so wie oben gut, ich hatte gedacht ich könnte das Problem wie folgt lösen:Dim LetzteZeile As Long
L = Worksheets("Tab1").Range("F1").End(xlDown).Row
Und dann
.htmlBody = fncRangeToHtml("Tab1", "A1:F" & LetzteZeile) & .htmlBody
Kann mir jemand sagen, warum das nicht funktioniert und wie es funktionieren kann?
Dankeschön!