Wie sendet man eine E-Mail, wenn das Fälligkeitsdatum in Excel erreicht wurde?
Wie im folgenden Screenshot gezeigt, wird eine E-Mail an den in Spalte A angegebenen Empfänger gesendet, und der in Spalte B angegebene Inhalt wird im Text der E-Mail angezeigt, wenn das Fälligkeitsdatum in Spalte C kleiner oder gleich 7 Tagen ist (z. B. das aktuelle Datum ist der 13.09.2017). Wie können Sie dies erreichen? Dieser Artikel bietet einen VBA-Code, um Ihnen bei dieser Aufgabe zu helfen.
E-Mail senden, wenn das Fälligkeitsdatum mit VBA-Code erreicht wurde
E-Mail senden, wenn das Fälligkeitsdatum mit VBA-Code erreicht wurde
Bitte gehen Sie wie folgt vor, um eine E-Mail-Erinnerung zu senden, wenn das Fälligkeitsdatum in Excel erreicht wurde.
1. Drücken Sie gleichzeitig die Tasten Alt + F11, um das Microsoft Visual Basic for Applications-Fenster zu öffnen.
2. Klicken Sie im Microsoft Visual Basic for Applications-Fenster auf Einfügen > Modul. Kopieren Sie dann den folgenden VBA-Code und fügen Sie ihn in das Modulfenster ein.
VBA-Code: E-Mail senden, wenn das Fälligkeitsdatum in Excel nahe ist
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
Hinweise: Die Zeile If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then im VBA-Code bedeutet, dass das Fälligkeitsdatum größer als 1 Tag und kleiner oder gleich 7 Tagen sein muss. Sie können dies nach Bedarf ändern.
3. Drücken Sie die Taste F5, um den Code auszuführen. Wählen Sie im ersten erscheinenden Kutools for Excel-Dialogfeld den Bereich der Fälligkeitsdatenspalte aus und klicken Sie dann auf die Schaltfläche OK. Siehe Screenshot:
4. Dann erscheint das zweite Kutools for Excel-Dialogfeld. Wählen Sie den entsprechenden Spaltenbereich aus, der die E-Mail-Adressen der Empfänger enthält, und klicken Sie auf die Schaltfläche OK. Siehe Screenshot:
5. Wählen Sie im letzten Kutools for Excel-Dialogfeld den Inhalt aus, den Sie im E-Mail-Text anzeigen möchten, und klicken Sie dann auf die Schaltfläche OK.
Dann wird automatisch eine E-Mail erstellt, mit dem angegebenen Empfänger, Betreff und Text aufgelistet, wenn das Fälligkeitsdatum in Spalte C kleiner oder gleich 7 Tagen ist. Klicken Sie bitte auf die Schaltfläche Senden, um die E-Mail zu versenden.
Hinweise:
1. Jede erstellte E-Mail entspricht einem Fälligkeitsdatum. Zum Beispiel werden drei E-Mails automatisch erstellt, wenn drei Fälligkeitsdaten den Kriterien entsprechen.
2. Dieser Code wird nicht ausgelöst, wenn keine Daten den Kriterien entsprechen.
3. Der VBA-Code funktioniert nur, wenn Sie Outlook als Ihr E-Mail-Programm verwenden.

Entfesseln Sie die Magie von Excel mit Kutools AI
- Intelligente Ausführung: Führen Sie Zellenoperationen durch, analysieren Sie Daten und erstellen Sie Diagramme – alles angetrieben durch einfache Befehle.
- Benutzerdefinierte Formeln: Erstellen Sie maßgeschneiderte Formeln, um Ihre Arbeitsabläufe zu optimieren.
- VBA-Codierung: Schreiben und implementieren Sie VBA-Code mühelos.
- Formelinterpretation: Verstehen Sie komplexe Formeln mit Leichtigkeit.
- Textübersetzung: Überwinden Sie Sprachbarrieren in Ihren Tabellen.
Verwandte Artikel:
- Wie sendet man automatisch eine E-Mail basierend auf einem Zellenwert in Excel?
- Wie sendet man eine E-Mail über Outlook, wenn die Arbeitsmappe in Excel gespeichert wird?
- Wie sendet man eine E-Mail, wenn eine bestimmte Zelle in Excel geändert wird?
- Wie sendet man eine E-Mail, wenn ein Button in Excel geklickt wird?
- Wie sendet man eine E-Mail-Erinnerung oder Benachrichtigung, wenn die Arbeitsmappe in Excel aktualisiert wird?
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!