Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Zelleninhalt als Text in Email

Excel Zelleninhalt als Text in Email
13.07.2016 11:45:59
Sven
Guten Morgen zusammen,
ich habe folgende Aufgabenstellung:
Meine Mitarbeiter schreiben jeden Tag eine kurze Zusamemnfassung der Spätschicht per Email.
Ich möchte, dass die Mitarbeiter diese Informationen in eine Exceltabelle eintragen, damit wir eine Art "Wissenspeicher" haben.
Ich möchte jedoch nicht auf die Info per Mail verzichten.
Das Makro soll auf Knopfdruck prüfen welche Zeilen zum heutigen Datum gehören. Diese Informationen dann in die Email kopieren.
Es kann sein, dass es mehr als eine Zeile pro Tag gibt, daher ist die Datumsprüfung notwendig.
Eine Beispieldatei ist hier abgelegt.
https://www.herber.de/bbs/user/106984.xlsx
Ich habe es schon mit dem Makrorekorder probiert, doch leider hat das nicht geholfen.
Würde mich sehr freuen wenn jemand hier eine gute Lösung hat.
Beste Grüße
Sven

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Zelleninhalt als Text in Email
13.07.2016 13:02:34
baschti007
So kannst du es mal testen
Gruß Basti
Sub SendMyMail()
Dim zelles As Range
Dim bereichs As Range
Dim datum As Date
Dim ws As Worksheet
Set ws = Sheets("Schichtbericht")
Set bereichs = ws.Range("A2:A" & ws.Cells(1048576, 1).End(xlUp).Row)
Set zelles = bereichs.Find(what:=Date, lookat:=xlWhole, LookIn:=xlValues)
If zelles Is Nothing Then
MsgBox "Datum nicht gefunden": Exit Sub
Else
MsgBox "Datum befindt sich in Zelle" & zelles.Address
Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(0)
ws.Range("A" & zelles.Row & ":G" & zelles.Row).Copy
With objMail
.To = "max.muster@test.de"
.Subject = "Betreff"
.GetInspector().WordEditor.Range.Paste
.Display
End With
Set objOL = Nothing
End If
End Sub

Anzeige
AW: Excel Zelleninhalt als Text in Email
13.07.2016 13:24:15
baschti007
Oder so wenn du mehr Einträge von einem Tag haben möchtest dafür müssen aber die Daten mit dem gleichem Datum direkt untereinander stehen ;)
Sub SendMyMail()
Dim zelles As Range
Dim zellesL As Range
Dim bereichs As Range
Dim datum As Date
Dim ws As Worksheet
Set ws = Sheets("Schichtbericht")
Set bereichs = ws.Range("A2:A" & ws.Cells(1048576, 1).End(xlUp).Row)
Set zelles = bereichs.Find(what:=Date, lookat:=xlWhole, SearchDirection:=xlNext)
Set zellesL = bereichs.Find(what:=Date, lookat:=xlWhole, SearchDirection:=xlPrevious)
If zelles Is Nothing Then
MsgBox "Datum nicht gefunden": Exit Sub
Else
MsgBox "Datum befindt sich in den Zellen " & Range(zelles.Address, zellesL.Address).Address
Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(0)
ws.Range("A" & zelles.Row & ":G" & zellesL.Row).Copy
With objMail
.To = "max.muster@test.de"
.Subject = "Betreff"
.GetInspector().WordEditor.Range.Paste
.Display
End With
Set objOL = Nothing
End If
End Sub

Anzeige
AW: Excel Zelleninhalt als Text in Email
13.07.2016 14:27:44
Sven
Hallo Baschti,
danke! Die Daten mit dem gleichen Datum stehen untereinander.
Leider funktioniert es noch nicht so richtig.
Es öffnet sich ein Fenster mit folgendem Inhalt.
"Datum nicht gefunden"
Beste Grüße
Sven

AW: Excel Zelleninhalt als Text in Email
13.07.2016 15:34:22
Bastian
Kleine Info du solltest auch das Heutige Datum in Spalte A eingetragen haben ;)
In deiner Beispieldatei ist es 2017 und wir haben es 2016 =D

AW: Excel Zelleninhalt als Text in Email
13.07.2016 15:54:23
Bastian
Ach ja falls Outlook nicht geöfnet ist das noch hinter else einfügen
Status = Shell("outlook.exe", 1)

AW: Excel Zelleninhalt als Text in Email
13.07.2016 16:32:07
Sven
Hat funktioniert.
Besten Dank!

Kein Problem
14.07.2016 06:41:01
baschti007
Kein Ding =)
Anzeige
AW: Kein Problem
15.07.2016 08:46:52
Sven
Guten Morgen,
jetzt habe ich noch eine letzte Frage.
Ist es möglich auch die Zeile 1 mit den Überschriften in die Email zu kopieren.
Außerdem wäre es toll wenn man im Betreff dann auch das heutige Datum hat.
Danke!
AW: Kein Problem
15.07.2016 09:22:29
baschti007
So könnte es gehen Sven
Sub SendMyMail()
Dim zelles As Range
Dim zellesL As Range
Dim bereichs As Range
Dim datum As Date
Dim ws As Worksheet
Dim wsNew As Worksheet
Set ws = Sheets("Schichtbericht")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set bereichs = ws.Range("A2:A" & ws.Cells(1048576, 1).End(xlUp).Row)
Set zelles = bereichs.Find(what:=Date, lookat:=xlWhole, SearchDirection:=xlNext)
Set zellesL = bereichs.Find(what:=Date, lookat:=xlWhole, SearchDirection:=xlPrevious)
If zelles Is Nothing Then
MsgBox "Datum nicht gefunden": Exit Sub
Else
MsgBox "Datum befindt sich in den Zellen " & Range(zelles.Address, zellesL.Address).Address
Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(0)
Set wsNew = Worksheets.Add
With wsNew
.Name = "Neu" & Format(Now, "yyyymmdd_hhmmss")
.Move after:=Sheets(Sheets.Count)
End With
ws.Range("A1:G1").Copy wsNew.Range("A1")
ws.Range("A" & zelles.Row & ":G" & zellesL.Row).Copy wsNew.Range("A2")
wsNew.Columns("A:G").EntireColumn.AutoFit
wsNew.UsedRange.Copy
With objMail
.To = "max.muster@test.de"
.Subject = "Betreff " & Now '-- Oder Date dann ist nur das Datum und keine Zeit
.GetInspector().WordEditor.Range.Paste
.Display
End With
wsNew.Delete
Set objOL = Nothing
Set wsNew = Nothing
Set ws = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End If
End Sub

Anzeige

340 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige