Supportnet / Forum / Tabellenkalkulation
Daten eines Tabellenblattes versenden
Frage
Hallo zusammen,
man konnte mir in der Vergangenheit hier schon helfen, was das Versenden von einzelnen Tabellenblättern aus EXCEL angeht.
Nun habe ich ein ähnliches Problem:
Mit folgenden Makro habe ich das aktuelle Tabellenblatt via Outlook versandt.
Sub Blatt_senden()
Sheets("Tabelle2").Copy
ActiveWorkbook.SendMail "beispiel@mail.de", "Tabelle2"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Dabei wird das ganze Tabellenblatt kopiert, mit Outlook versandt und ohne zu speichern geschlossen.
Nun möchte ich aber, das nicht das Tabellenblatt kopiert wird, sondern die im aktuell geöffneten Tabellenblatt enthaltenen Daten kopiert und via Outlook als Anlage versandt werden.
Hintergrund ist der, das das Tabellenblatt bis zu 3 MB groß ist und dem Empfänger z. B. eine *.txt-Datei ausreicht.
Außerdem werden schlicht weniger Datenmengen übertragen.
Danke
Marvin1986
Antwort 1 von guersle
Hallo Marvin1986,
Schon ´mal die Möglichkeit erwogen, statt *.txt *.HTM zu versenden?
Gruß guersle
Schon ´mal die Möglichkeit erwogen, statt *.txt *.HTM zu versenden?
Gruß guersle
Antwort 2 von JoeKe
Hallo Marvin,
versuch es mal so:
ActiveSheet.UsedRange.Copy
Gruß
JöKe
versuch es mal so:
ActiveSheet.UsedRange.Copy
Gruß
JöKe
Antwort 3 von marvin1986
Hallo guersle,
ob eine HTM-Datei auch funktionert, keine Ahnung.
Entscheid wäre, das die versandte Datei hinterher von EXCEL geöffnet werden kann und die Tabell in ihrem Ursprung mit den Daten am bisherigen Ort wiederhergestellt werden kann.
Hallo JöKe,
habe versucht, Deinen Tipp einzubauen, aber nach diversen Versuchen verzweifelt.
Was muß ich dafür aus meinem Makro rausnehmen?
Wohin gehört deine Zeile?
Gruß an alle
Marvin1986
ob eine HTM-Datei auch funktionert, keine Ahnung.
Entscheid wäre, das die versandte Datei hinterher von EXCEL geöffnet werden kann und die Tabell in ihrem Ursprung mit den Daten am bisherigen Ort wiederhergestellt werden kann.
Hallo JöKe,
habe versucht, Deinen Tipp einzubauen, aber nach diversen Versuchen verzweifelt.
Was muß ich dafür aus meinem Makro rausnehmen?
Wohin gehört deine Zeile?
Gruß an alle
Marvin1986
Antwort 4 von gerstensaft
Hallo
...könnte in etwa so funktionieren:;-)
Gruß gerstensaft
...könnte in etwa so funktionieren:;-)
Sub Ol_Versenden()
ActiveSheet.SaveAs Filename:="C:\Seite.htm", FileFormat:=xlHtml
Dim olApp As Outlook.Application
Dim objEMail As MailItem
Set olApp = New Outlook.Application
Set objEMail = olApp.CreateItem(olMailItem)
With objEMail
.To = "Grunzer@supportnet.de"
.CC = "Mmaus@supportnet.de"
.BCC = "Stressbolzen@event.com"
.Subject = "Internetnutzung im ersten Quartal"
.Body = "Hallo," & Chr(10) & Chr(10) & _
"hier die letzten Werte in der Anlage."
.Attachments.Add "C:\Seite.htm"
.ReadReceiptRequested = False
.Send
End With
End Sub
Gruß gerstensaft
Antwort 5 von JoeKe
Hallo Marvin,
müsste so gehen:
Sub Blatt_senden()
ActiveSheet.UsedRange.Copy
ActiveWorkbook.SendMail "beispiel@mail.de", "Tabelle2"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Wie schon bei den anderen Antworten des anderen Thread ungetestet.
Gruß
JöKe
müsste so gehen:
Sub Blatt_senden()
ActiveSheet.UsedRange.Copy
ActiveWorkbook.SendMail "beispiel@mail.de", "Tabelle2"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Wie schon bei den anderen Antworten des anderen Thread ungetestet.
Gruß
JöKe

