• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA code met 2 kolommen tbv email

Status
Niet open voor verdere reacties.

excel2007

Gebruiker
Lid geworden
29 jan 2010
Berichten
9
Ik heb onderstaande code.
Nu wil ik de Range uitbreiden met de velden C5:C1755 zodat deze ook in de email komen.
Echter ik krijg het echter niet voor elkaar de twee kolommen naast elkaar te krijgen als 1 tabel.
In kolom B wordt gefilterd. Nu komen alleen de gefilterde waardes uit kolom B te staan in de email.
Weet iemand misschien de oplossing.
Bvd.

Sub Range_waarden_in_email()

Strbody = "Koptekst," & _
"<p>" & _
"Inhoud regel 1" & _
"Inhoud regel 2" & _
"<p>" & _
"Met vriendelijke groeten,"

c01 = "<table border=1 bgcolor=#FFFFF0#>"

For Each it In Sheets("Zoeken").Range("B5:B1755").SpecialCells(12)
c01 = c01 & "<tr><td>" & it.Value & "</td></tr>"
Next
c01 = c01 & "</table><P></P><P></P>"

With CreateObject("Outlook.Application").CreateItem(0)
.To = "email@xxxxx.xx"
.Subject = "Onderwerp"
.HTMLBody = Strbody & c01
.Display
End With
End Sub
 
Laatst bewerkt:
Probeer deze eens:
Code:
Sub Range_waarden_in_email()
    c01 = "<table border=1 bgcolor=#FFFFF0#>"
    
    Strbody = "Koptekst," & _
    "<p>" & _
    "Inhoud regel 1" & _
    "Inhoud regel 2" & _
    "<p>" & _
    "Met vriendelijke groeten,"
    
    For Each it In Sheets("Blad1").Range("B5:C1755").SpecialCells(12)
        If it.Column = 2 Then
            c01 = c01 & "<tr><td>" & it.Value & "</td>"
        Else
            c01 = c01 & "<td><td>" & it.Value & "</td></td></tr>"
        End If
    Next
    c01 = c01 & "</table><P></P><P></P>"
    
    With CreateObject("Outlook.Application").CreateItem(0)
        .To = "email@xxxxx.xx"
        .Subject = "Onderwerp"
        .HTMLBody = Strbody & c01
        .Display
    End With
End Sub
 
Laatst bewerkt:
Ik dacht hieraan:
Code:
Sub Range_waarden_in_email()
    Strbody = "Koptekst," & _
        "<p>" & _
        "Inhoud regel 1" & _
        "Inhoud regel 2" & _
        "<p>" & _
        "Met vriendelijke groeten,"

    c01 = "<table border=1 bgcolor=#FFFFF0#>"
    For Each it In Sheets("Blad1").Range("B5:B1755").SpecialCells(12)
        c01 = c01 & "<tr><td>" & it.Value & "</td><td>" & it.Offset(, 1).Value & "</td></tr>"
    Next
    c01 = c01 & "</table><P></P><P></P>"

    With CreateObject("Outlook.Application").CreateItem(0)
        .To = "email@xxxxx.xx"
        .Subject = "Onderwerp"
        .HTMLBody = Strbody & c01
        .Display
    End With
End Sub
 
Probeer deze eens:
Code:
Sub Range_waarden_in_email()
    c01 = "<table border=1 bgcolor=#FFFFF0#>"
    
    Strbody = "Koptekst," & _
    "<p>" & _
    "Inhoud regel 1" & _
    "Inhoud regel 2" & _
    "<p>" & _
    "Met vriendelijke groeten,"
    
    For Each it In Sheets("Blad1").Range("B5:C1755").SpecialCells(12)
        If it.Column = 2 Then
            c01 = c01 & "<tr><td>" & it.Value & "</td>"
        Else
            c01 = c01 & "<td><td>" & it.Value & "</td></td></tr>"
        End If
    Next
    c01 = c01 & "</table><P></P><P></P>"
    
    With CreateObject("Outlook.Application").CreateItem(0)
        .To = "email@xxxxx.xx"
        .Subject = "Onderwerp"
        .HTMLBody = Strbody & c01
        .Display
    End With
End Sub

Bedankt voor de oplossing, ook de code van Timshel werkt.
 
Ik dacht hieraan:
Code:
Sub Range_waarden_in_email()
    Strbody = "Koptekst," & _
        "<p>" & _
        "Inhoud regel 1" & _
        "Inhoud regel 2" & _
        "<p>" & _
        "Met vriendelijke groeten,"

    c01 = "<table border=1 bgcolor=#FFFFF0#>"
    For Each it In Sheets("Blad1").Range("B5:B1755").SpecialCells(12)
        c01 = c01 & "<tr><td>" & it.Value & "</td><td>" & it.Offset(, 1).Value & "</td></tr>"
    Next
    c01 = c01 & "</table><P></P><P></P>"

    With CreateObject("Outlook.Application").CreateItem(0)
        .To = "email@xxxxx.xx"
        .Subject = "Onderwerp"
        .HTMLBody = Strbody & c01
        .Display
    End With
End Sub

Bedankt voor de oplossing, ook de code van edmoor werkt.
 
Wil je svp niet de quote knop gebruiken, maar de 'reageer op bericht' knop ?

Code:
Sub Range_waarden_in_email()
  For Each it In Sheets("Zoeken").Range("B5:B1755").SpecialCells(12)
    c01 = c01 & "<tr><td>" & it.Value & "</td><td>" & it.offset(,1) & "</td></tr>"
  Next
 
  With CreateObject("Outlook.Application").CreateItem(0)
    .To = "email@xxxxx.xx"
    .Subject = "Onderwerp"
    .HTMLBody = "Koptekst,<p>Inhoud regel 1<br/>Inhoud regel 2<br/>Met vriendelijke groeten,</p><table border=1 bgcolor=#FFFFF0#>" & c01 & "</table>"
    .Display
  End With
End Sub
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan