Wie sende ich eine E-Mail, wenn das Fälligkeitsdatum in Excel erreicht wurde?
Wie im Screenshot unten gezeigt, wird eine E-Mail an den angegebenen Empfänger in Spalte A gesendet, wenn das Fälligkeitsdatum in Spalte C kleiner oder gleich 7 Tagen ist (das aktuelle Datum ist beispielsweise der 2017). Der angegebene Inhalt in Spalte B wird im Text der E-Mail angezeigt. Wie könnten Sie tun, um es zu erreichen? Dieser Artikel enthält einen VBA-Code, der Sie beim Ausführen dieser Aufgabe unterstützt.
Senden Sie eine E-Mail, wenn das Fälligkeitsdatum mit dem VBA-Code erreicht wurde
Senden Sie eine E-Mail, wenn das Fälligkeitsdatum mit dem 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 die Taste Andere + F11 Tasten gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
2. In dem Microsoft Visual Basic für Applikationen Fenster, bitte klicken Insert > 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 geschlossen 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
Notizen: Die Linie Wenn CDate (xRgDateVal) - Datum <= 7 Und CDate (xRgDateVal) - Datum> 0 Dann bedeutet der VBA-Code, dass das Fälligkeitsdatum größer als 1 Tag und kleiner oder gleich 7 Tage sein muss. Sie können es nach Bedarf ändern.
3. Drücken Sie F5-Taste zum Ausführen des Codes. Beim ersten Auftauchen Kutools for Excel Wählen Sie im Dialogfeld den Spaltenbereich für das Fälligkeitsdatum aus und klicken Sie auf OK Taste. Siehe Screenshot:
4. Dann die zweite Kutools for Excel Das Dialogfeld wird angezeigt. Wählen Sie den entsprechenden Spaltenbereich aus, der die E-Mail-Adressen der Empfänger enthält, und klicken Sie auf OK Taste. Siehe Screenshot:
5. Im letzten Kutools for Excel Wählen Sie im Dialogfeld den Inhalt aus, den Sie im E-Mail-Text anzeigen möchten, und klicken Sie dann auf OK .
Anschließend wird automatisch eine E-Mail mit dem angegebenen Empfänger, Betreff und Text erstellt, wenn das Fälligkeitsdatum in Spalte C 7 Tage oder weniger beträgt. Bitte klicken Sie auf die Absenden Schaltfläche zum Senden der E-Mail.
Notizen:
1. Jede erstellte E-Mail entspricht einem Fälligkeitsdatum. Wenn beispielsweise drei Fälligkeitstermine die Kriterien erfüllen, werden automatisch drei E-Mail-Nachrichten erstellt.
2. Dieser Code wird nicht ausgelöst, wenn keine Daten vorhanden sind, die die Kriterien erfüllen.
3. Der VBA-Code funktioniert nur, wenn Sie Outlook als E-Mail-Programm verwenden.
In Verbindung stehende Artikel:
- Wie sende ich automatisch E-Mails basierend auf dem Zellenwert in Excel?
- Wie sende ich eine E-Mail über Outlook, wenn die Arbeitsmappe in Excel gespeichert ist?
- Wie sende ich eine E-Mail, wenn eine bestimmte Zelle in Excel geändert wird?
- Wie sende ich eine E-Mail, wenn in Excel auf die Schaltfläche geklickt wird?
- Wie sende ich eine E-Mail-Erinnerung oder Benachrichtigung, wenn die Arbeitsmappe in Excel aktualisiert wird?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!