• 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.

Waarden van Excel kopiëren in mail

Status
Niet open voor verdere reacties.

Mitch666

Gebruiker
Lid geworden
9 jan 2018
Berichten
7
Beste,

Ik zit al een tijdje met een probleem dat ik bepaalde kolommen van Excel wil kopiëren in een nieuwe mail door middel van een macro.
Ik heb een werkblad in Excel waarin ik eigenlijk al de opmaak gemaakt heb hoe ik wil dat deze in de mail verschijnt.
De inhoud van deze tekst is wel bepaald door formules van een een ander werkblad. Dus als er op een ander werkblad andere variabele worden ingevuld dan wijzigt de inhoud.
Ik zou graag hebben dat eenmaal door een druk op een macro deze tekst automatisch in een nieuwe mail (via Outlook) wordt overgenomen.
Zo dien ik enkel de afzender en het onderwerp nog in te vullen.

Kan iemand mij hier mee helpen a.u.b.?

Alvast bedankt!
 
Hi Edmoor,

Dank voor je reactie! Als ik mij niet vergis is dit om het bestand als bijlage te verzenden.
Bij mij zou deze echt in de body van de mail moeten terecht komen.
 
Dat staat er ook in.
Voor een gerichter antwoord dien je een voorbeeld document te plaatsen.
 
Laatst bewerkt:
Hi Edmoor,
Ik heb even vlug een bestandje gemaakt als voorbeeld.
Ik heb ook de macro van jou hierin gekopieerd en aangepast hoe ik denk dat deze er zou moeten uitzien.
Als ik de macro uitvoer krijg ik wel degelijk een nieuwe mail met correcte afzender en correct onderwerp.
Alleen wordt de inhoud niet overgenomen.Bekijk bijlage File1.xlsm
 
Zo zal je wel begrijpen wat er moet gebeuren:
Code:
Sub Verzendmail()
    sbody = sbody & Range("B6") & vbTab & Range("C6") & vbCrLf
    sbody = sbody & Range("B7") & vbTab & Range("C7") & vbCrLf
    sbody = sbody & Range("B8") & vbTab & Range("C8") & vbCrLf
    sbody = sbody & Range("B9") & vbTab & Range("C9")

    sSubject = "Vergadering afdeling " & Range("C6")
    
    On Error Resume Next
    With CreateObject("Outlook.Application").CreateItem(0)
        .To = "lonnoy12@hotmail.com"
        .CC = "lonnoy12@hotmail.com"
        .Subject = sSubject
        .Body = sbody
        .Display ' of .Send
    End With

    If Err.Number = 0 Then
        MsgBox ("E-mail is verstuurd")
    Else
        MsgBox Err.Description, vbCritical, "Fout: " & Err.Number
    End If
End Sub
 
Super, nu is het inderdaad duidelijk! :-)
Echter nog één vraagje: Is het mogelijk om ook de lay-out over te nemen.
Ik bedoel dus de kaders, zaken die onderlijn zijn, enz.?
 
Dat kan allemaal. Maar daar komt meer bij kijken, zoals het converteren van de range naar HTML en het gebruik van .HTMLbody in plaats van .Body.
Kan ik vanavond wel even voor je doen. Nu geen tijd meer voor.
 
Laatst bewerkt:
Dat zou super zijn! :-)
Er is ook geen super haast bij hoor.

Bedankt alleszins! :)
 
Dat is helemaal wat ik wou! Hartelijk dank voor de hulp :-)
Hiermee kan ik verder.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan