Hoe een e-mail te versturen als de vervaldatum is bereikt in Excel?
Zoals te zien is in de onderstaande schermafbeelding, als de vervaldatum in kolom C kleiner dan of gelijk aan 7 dagen is (bijvoorbeeld, de huidige datum is 13-9-2017), wordt er een e-mail verzonden naar de gespecificeerde ontvanger in kolom A en wordt de gespecificeerde inhoud uit kolom B weergegeven in de body van de e-mail. Hoe kun je dit bereiken? Dit artikel biedt een VBA-code om je hierbij te helpen.
E-mail verzenden als de vervaldatum is bereikt met VBA-code
E-mail verzenden als de vervaldatum is bereikt met VBA-code
Doe het volgende om een e-mailherinnering te verzenden als de vervaldatum is bereikt in Excel.
1. Druk tegelijkertijd op de toetsen Alt + F11 om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik in het Microsoft Visual Basic for Applications-venster op Invoegen > Module. Kopieer en plak vervolgens de onderstaande VBA-code in het Module-venster.
VBA-code: E-mail verzenden als de vervaldatum dichtbij komt in Excel
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
Opmerkingen: De regel If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then in de VBA-code betekent dat de vervaldatum groter moet zijn dan 1 dag en kleiner dan of gelijk aan 7 dagen. Je kunt dit naar behoefte wijzigen.
3. Druk op de F5-toets om de code uit te voeren. Selecteer in het eerste pop-upvenster van Kutools voor Excel de kolombreedte van de vervaldatum en klik vervolgens op de OK-knop. Zie schermafbeelding:
4. Vervolgens verschijnt het tweede pop-upvenster van Kutools voor Excel. Selecteer het bijbehorende kolombereik dat de e-mailadressen van de ontvangers bevat en klik op de OK-knop. Zie schermafbeelding:
5. Selecteer in het laatste pop-upvenster van Kutools voor Excel de inhoud die u wilt weergeven in de e-mailbody en klik vervolgens op de OK-knop.
Er wordt automatisch een e-mail gemaakt met de gespecificeerde ontvanger, onderwerp en body vermeld als de vervaldatum in kolom C kleiner dan of gelijk aan 7 dagen is. Klik op de Verzend-knop om de e-mail te versturen.
Opmerkingen:
1. Elke aangemaakte e-mail correspondeert met een vervaldatum. Bijvoorbeeld, als er drie vervaldatums aan de criteria voldoen, worden er automatisch drie e-mails aangemaakt.
2. Deze code wordt niet geactiveerd als er geen data aan de criteria voldoen.
3. De VBA-code werkt alleen wanneer je Outlook als je e-mailprogramma gebruikt.

Ontdek de Magie van Excel met Kutools AI
- Slimme Uitvoering: Voer celbewerkingen uit, analyseer gegevens en maak diagrammen – allemaal aangestuurd door eenvoudige commando's.
- Aangepaste Formules: Genereer op maat gemaakte formules om uw workflows te versnellen.
- VBA-codering: Schrijf en implementeer VBA-code moeiteloos.
- Formule-uitleg: Begrijp complexe formules gemakkelijk.
- Tekstvertaling: Overbrug taalbarrières binnen uw spreadsheets.
Gerelateerde artikelen:
- Hoe automatisch een e-mail te versturen op basis van een celwaarde in Excel?
- Hoe een e-mail te versturen via Outlook wanneer een werkmap wordt opgeslagen in Excel?
- Hoe een e-mail te versturen als een bepaalde cel wordt gewijzigd in Excel?
- Hoe een e-mail te versturen als een knop wordt geklikt in Excel?
- Hoe een e-mailherinnering of melding te versturen als een werkmap wordt bijgewerkt in Excel?
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!