exxist

Zellbereich in HTMLbody einfügen (Range bis einschließlich letzter genutzter Zeile) VBA Mail

Hallo zusammen,

sitze seit geraumer Zeit an folgendem Code und finde den Fehler leider nicht. Hoffe jemand kennt die Lösung!
Mit dem Code werden automatische Mails generiert. Dabei sollen dem Body an letzter Stelle der Zelleninhalt im Range Spalte B bis Spalte J (Zeile 8 bis letzte gefüllte Zeile in Spalte A) hinzugefügt werden.
Danke für jede Hilfe.

Sub Anfrage()
'  
' Anfrage Makro  
'  
' Tastenkombination: Strg+m  
'  
letztezeile = Worksheets("Master").Cells(Rows.Count, 1).End(xlUp).Row  
    Dim MyOutApp As Object, MyMessage As Object
    Dim rng As Range
        Set MyOutApp = CreateObject("Outlook.Application")  
        Set MyMessage = MyOutApp.CreateItem(0)
        With MyMessage
            'Der Empfänger stehen in Spalte B ab Zeile 3  
            .To = Range("B3") 'E-Mail Adresse  
            'Der Betreff in Spalte A  
            .Subject = Range("B4") '"Betreffzeile"  
            .HTMLBody = "<p style='font-family:Arial'>" & Range("B5") & "</p>" _  
            & "<p style='font-family:Arial'>" & Range("B6") & "</p>" _  
            & "<p style='font-family:Arial'>" & Range("B7") & "</p>" _  
            & Sheets("MASTER").Range("B8:J" & Cells(Rows.Count, 1).End(xlUp).Row)  
            .Display
        End With
        'Objectvariablen leeren  
        Set MyOutApp = Nothing 'CreateObject("Outlook.Application")  
        Set MyMessage = Nothing 'MyOutApp.CreateItem(0)  
        'Sendepause einschalten  
        'Outlook kann die Aufträge nicht schnell genug verarbeiten  
        Application.Wait (Now + TimeValue("0:00:01"))  
End Sub
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 318580

Url: https://administrator.de/forum/zellbereich-in-htmlbody-einfuegen-range-bis-einschliesslich-letzter-genutzter-zeile-vba-mail-318580.html

Ausgedruckt am: 28.04.2025 um 12:04 Uhr

131223
131223 20.10.2016 aktualisiert um 22:35:04 Uhr
Goto Top
Sheets("MASTER").Range("B8:J" & Cells(Rows.Count, 1).End(xlUp).Row) 
Was erwartest du hier? Das ein Range automatisch zu einer HTML-Tabelle wird ?? Das kann so ja niemals klappen. Ein Objekt aus Zellen mit Eigenschaften ist kein String...


Durchlaufe den Range mit zwei Verachachtelten For-Schleifen (eine für die Zeilen und die innere für die Spalten) und setze damit deinen HTML-Code für eine Tabelle zusammen. Diesen kannst du dann In die Mail einfügen.

Oder du arbeitest mit Copy und Paste. Range kopieren und dann übers Outlook Objekt in die Mail pasten.