Ga naar inhoud

VBA vanuit excel een email genereren in Outlook


Tam78mie
Ga naar oplossing Opgelost door Jeffreylovely,

Aanbevolen berichten

Ik heb gezocht in de reeds gestelde vragen, maar ik kom er niet helemaal uit en hoop dat er iemand is die mij kan helpen.

 

Ik heb in excel een groot databestand staan met gegevens van mijn klanten. Hierin staan de naw gegevens, emailadres etc etc. Ik heb achteraan op de regel een datum ingevuld waarop ik de klant graag een mail wil sturen.

Mijn werkwijze nu is dat ik kijk welke klanten ik een mail moet sturen en dan met kopieren van het emailadres maak ik een mailtje aan. De mail is een algemene tekst, maar in het onderwerp komt ons kenmerk. En de mail gaat natuurlijk naar het emailadres wat ik in excel heb ingevuld.

Dit is natuurlijk een hoop werk. Is het mogelijk om een macro te maken die automatisch een email voor mij klaarzet in outlook op het moment dat de datum bereikt is?

Dan hoef ik ze alleen nog maar te controleren, eventueel een extra opmerking te maken en dan op verzenden te drukken.

 

Wie kan mij helpen aan de informatie? Alvast dank!

Link naar reactie
  • 2 maanden later...
  • Oplossing

Ja, het is zeker mogelijk om een macro te maken die automatisch een e-mail voor jou klaarzet in Outlook op basis van de datum in Excel. Hier zijn de algemene stappen die je kunt volgen:

Open Excel en druk op Alt + F11 om de Visual Basic Editor te openen.

Klik op Invoegen en selecteer Module om een nieuwe module te maken.

Geef de module een naam (bijvoorbeeld "AutoEmail") en voeg de volgende code toe:

Sub AutoEmail()
Dim OutApp As Object
Dim OutMail As Object
Dim datDatum As Date
Dim strEmail As String
Dim strOnderwerp As String
Dim strTekst As String
Dim iRij As Integer

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

For iRij = 2 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    datDatum = Cells(iRij, "D").Value 'Vervang "D" met de kolomletter waarin de datum staat
    If datDatum = Date Then
        strEmail = Cells(iRij, "C").Value 'Vervang "C" met de kolomletter waarin het e-mailadres staat
        strOnderwerp = "Onderwerp van de e-mail" 'Vervang met het onderwerp van de e-mail
        strTekst = "Tekst van de e-mail" 'Vervang met de tekst van de e-mail
        
        With OutMail
            .To = strEmail
            .Subject = strOnderwerp
            .Body = strTekst
            .Display 'Hiermee wordt de e-mail weergegeven in Outlook en kun je deze controleren en eventueel bewerken voordat je deze verstuurt
        End With
    End If
Next iRij

Set OutMail = Nothing
Set OutApp = Nothing

End Sub
 

Pas de code aan op basis van jouw Excel-bestand, bijvoorbeeld door de kolomletters en de tekst van de e-mail aan te passen.

Sla het bestand op als een Excel Macro-enabled Workbook (.xlsm).

Open het Excel-bestand en druk op Alt + F8 om de macro op te roepen. Selecteer de "AutoEmail" macro en klik op Uitvoeren om de e-mails voor de geselecteerde datums aan te maken.

De e-mails zullen worden weergegeven in Outlook en je kunt deze controleren en eventueel bewerken voordat je deze verstuurt.

Ik hoop dat dit helpt! Let op dat het belangrijk is om de macro te testen voordat je deze op jouw echte data toepast om ervoor te zorgen dat alles naar behoren werkt.

  • Like 1
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...