Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text in Mail-Body unter Tabelle

Text in Mail-Body unter Tabelle
27.01.2023 10:33:50
Steffen
Hallo zusammen,
ich bin absoluter VBA Neuling, möchte das Ganze jedoch lernen und habe mir hierfür ein Projekt von meiner Arbeit ausgesucht.
Ich habe eine Tabelle, in der manuell gefiltert wird. Das Filterergebnis soll dann in den Mail-Body übernommen werden. Das klappt auch, jedoch habe ich folgende Probleme:
- Ich möchte zuerst den folgenden Text, bevor das Filterergebnis eingefügt wird:
Guten Tag,
um Ihre Reklamationen bearbeiten zu können, benötige ich bitte die folgenden Belege:
- Mit meiner Formel werden alle sichtbaren Daten von B6:C500 eingefügt. Dadurch ist die Email ewig lang und am Ende kommt die Signatur. Wie kopiere und füge ich nur die Zellen mit Daten ein?

Sub SendEmailWithFilteredExcelRangeInBody()
Dim objOutlook As Object
Dim objMail As Object
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Tabelle1").Range("A1:D10")
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
    Range("A7:L500").SpecialCells(xlCellTypeVisible).Select
' Add recipients, subject, and body
objMail.To = Selection.Cells(1, 12).Value
objMail.subject = "ZUF p" & Selection.Cells(1, 8).Value & " / Krias " & Selection.Cells(1, 7).Value & "" & ": Anforderung von Belegen"
' Copy the visible cells after filtering
With ThisWorkbook.Worksheets("Tabelle1")
    Set rng = .Range("B6:C999").SpecialCells(xlCellTypeVisible)
End With
'Convert the filtered range to a table
rng.Copy
objMail.GetInspector.WordEditor.Paragraphs(1).Range.Paste
objMail.Display        'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell vom User!
End Sub
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Mail-Body unter Tabelle
27.01.2023 11:57:54
Fennek
Hallo,
um die Text-Zeile vor der Tabelle einzufügen, ginge
'Convert the filtered range to a table
objMail.BodyFormat = 2  'olFormatHTML
objMail.body = "Guten Tag," & vbLf & vbLf & "um Ihre Reklamationen bearbeiten zu können, benötige ich bitte die folgenden Belege:" & vbLf & vbLf
rng.Copy
objMail.GetInspector.WordEditor.Paragraphs(3).Range.Paste
objMail.Display        'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell vom User!
Die Signature könnte in Outlook eingerichtet werden.
mfg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige