Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenbereich neben Text in Email einfügen.

Tabellenbereich neben Text in Email einfügen.
12.06.2016 15:34:59
Sebastian
Guten Tag zusammen,
ich generiere aus Excel heraus eine Email in der automatisch Betreff und gewisse Textbausteine in den HTML-Body übernommen werden.
Nun möchte ich noch einen Tabellenbereich als Tabelle unter den Text in der Email:
Range("H6:N18")
Leider geht dies nicht einfach via Paste. Hier der Code:
Sub Email_generieren()
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.to = ActiveCell.Offset(0, 1).Value
.Subject = Range("B1").Value & " " & Range("C1").Value
.Body = "Guten Morgen " & ActiveCell.Value & "," & vbNewLine _
& vbNewLine & "Anbei ihre Note aus dem Bereich " & Range("C1").Value & "." & vbNewLine _
& "Sie haben " & ActiveCell.Offset(0, 2).Value & " von " & Range("E3").Value & "  _
Gesamtpunkten erreicht. " _
& "Das ergibt die Note " & ActiveCell.Offset(0, 3).Value & "." & vbNewLine _
& vbNewLine & "Im folgenden finden Sie eine Übersicht zur Notenverteilung im Kurs, den  _
Notendurchschnitt des Kurses und den Notenschlüssel" _
& vbNewLine & vbNewLine _
'    & Range("H2:N18").Paste (HIer soll der Tabellenbereich hinkopiert werden)
'Nachricht zur Kontrolle anzeigen
.Display
End With
End Sub
Habt ihr vielleicht eine Lösung für mein Problem? Vielen Dank.
Sebastian Lyschik

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenbereich neben Text in Email einfügen.
12.06.2016 15:54:21
Sebastian
Hmm,
vielen Dank, habe versucht den Range festzulegen und dies dann via Befehl an die entsprechende Stellle einzufügen. Das funktioniert leider gar nicht
Sub Email_generieren()
'Tabellenbereich einfügen'
Dim rng As Range
Set rng = Range("H6:N18").Select
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = ActiveCell.Offset(0, 1).Value
.Subject = Range("B1").Value & " " & Range("C1").Value
.Body = "Guten Morgen " & ActiveCell.Value & "," & vbNewLine _
& vbNewLine & "Anbei ihre Note aus dem Bereich " & Range("C1").Value & "." & vbNewLine _
& "Sie haben " & ActiveCell.Offset(0, 2).Value & " von " & Range("E3").Value & "  _
Gesamtpunkten erreicht. " _
& "Das ergibt die Note " & ActiveCell.Offset(0, 3).Value & "." & vbNewLine _
& vbNewLine & "Im folgenden finden Sie eine Übersicht zur Notenverteilung im Kurs, den  _
Notendurchschnitt des Kurses und den Notenschlüssel" _
& vbNewLine & vbNewLine _
& RangetoHTML(rng)
'Nachricht zur Kontrolle anzeigen
.Display
End With
End Sub
Gruß Sebastian

Anzeige
AW: Tabellenbereich neben Text in Email einfügen.
12.06.2016 15:57:10
Hajo_Zi
Hallo Sebastian,
das ist nicht mein Code und Beverly ist erst wieder am Abend Online.

AW: Tabellenbereich neben Text in Email einfügen.
12.06.2016 16:38:34
Beverly
Hi Sebastian,
WAS funktioniert nicht? Eine genaue Fehlerbeschreibung wäre schon angebracht.
Ich habe deinen Code nicht getestet, aber auf jeden Fall darf es nicht
.Body = ....

heißen, sondern es muss stehen:
.HTMLBody = ....

Außerdem gehört kein .Select hinter Set rng = ...


Anzeige
AW: Tabellenbereich neben Text in Email einfügen.
12.06.2016 17:04:27
Sebastian
Hallo Karin,
recht herzlichen Dank, habe nun die beiden Änderungen vorgenommen und der Tabellenabschnitt wird wie gewünscht in die Email eingefügt. Super.
Leider wird der vorangehende Text jetzt nach der Änderung in .HTMLbody nicht mehr wie gewünscht umgebrochen.
Der Befehl vbNewLine wird scheinbar ignoriert. Kann ich das irgendwie ändern?
Hier nochmal der aktuelle Code:
Sub Email_generieren()
'Tabellenbereich einfügen'
Dim rng As Range
Set rng = Range("H6:N18")
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = ActiveCell.Offset(0, 1).Value
.Subject = Range("B1").Value & " " & Range("C1").Value
.HTMLBody = "Guten Morgen " & ActiveCell.Value & "," & vbNewLine _
& vbNewLine & "Anbei ihre Note aus dem Bereich " & Range("C1").Value & "." & vbNewLine _
& "Sie haben " & ActiveCell.Offset(0, 2).Value & " von " & Range("E3").Value & "  _
Gesamtpunkten erreicht. " _
& "Das ergibt die Note " & ActiveCell.Offset(0, 3).Value & "." & vbNewLine _
& vbNewLine & "Im folgenden finden Sie eine Übersicht zur Notenverteilung im Kurs, den  _
Notendurchschnitt des Kurses und den Notenschlüssel" _
& vbNewLine & vbNewLine _
& RangetoHTML(rng)
'Nachricht zur Kontrolle anzeigen
.Display
End With
End Sub
Gruß Sebastian

Anzeige
AW: Tabellenbereich neben Text in Email einfügen.
12.06.2016 17:19:06
Beverly
Hi Sebastian,
in dem Fall musst du vbNewLine durch den HTML-Code für Zeilenumbruch ersetzen
    .HTMLBody = "Guten Morgen " & ActiveCell.Value & "," _
& "Anbei ihre Note aus dem Bereich " & Range("C1").Value & "." _
& "Sie haben " & ActiveCell.Offset(0, 2).Value & " von " & Range("E3").Value _
& "Gesamtpunkten erreicht. " _
& "Das ergibt die Note " & ActiveCell.Offset(0, 3).Value & "." _
& "Im folgenden finden Sie eine Übersicht zur Notenverteilung im Kurs, " _
& "den Notendurchschnitt des Kurses und den Notenschlüssel" _
& RangetoHTML(rng)

Die Leerzeichen vor br müssen jeweils weg - der Code lässt sich leider nicht anders darstellen, da die Forumssoftware die HTML-Zeichen automatisch übersetzt.


Anzeige
AW: Tabellenbereich neben Text in Email einfügen.
12.06.2016 17:31:16
Sebastian
Perfekt,
nochmal ganz herzlichen Dank an dich und auch an Hajo.
Grüße Sebastian

180 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige