如果在Excel中已達到到期日期,如何發送電子郵件?
如下圖所示,如果 C 列中的到期日小於或等於 7 天(例如,當前日期為 2017/9/13),則會向 A 列中的指定收件人發送一封電子郵件,並且B 列中的指定內容顯示在電子郵件正文中。 你怎麼做才能實現它? 本文提供了一個 VBA 代碼來幫助您完成此任務。
如果截止日期已達到VBA代碼,則發送電子郵件
如果在Excel中已達到到期日期,請執行以下操作以發送電子郵件提醒。
1。 按 其他 + F11 同時打開 Microsoft Visual Basic for Applications 窗口。
2。 在裡面 Microsoft Visual Basic for Applications 窗口,請點擊 插入 > 模塊。 然後將下面的VBA代碼複製並粘貼到“模塊”窗口中。
VBA代碼:如果在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
筆記:線 如果CDate(xRgDateVal)-日期<= 7 和 CDate(xRgDateVal)-日期> 0 然後,在VBA代碼中,意味著到期日期必須大於1天且小於或等於7天。 您可以根據需要進行更改。
3。 按 F5鍵運行代碼。 在第一個彈出 Excel的Kutools 對話框中,請選擇截止日期列範圍,然後單擊 OK 按鈕。 看截圖:
4.然後第二 Excel的Kutools 彈出對話框,請選擇包含收件人電子郵件地址的相應列範圍,然後單擊 OK 按鈕。 看截圖:
5.最後 Excel的Kutools 對話框中,選擇要在電子郵件正文中顯示的內容,然後單擊 OK 按鈕。
然後,如果C列中的截止日期少於或等於7天,則會自動創建一封電子郵件,列出指定的收件人,主題和正文。 請點擊 發送 按鈕發送電子郵件。
筆記:
1.每個創建的電子郵件都對應一個截止日期。 例如,如果有三個到期日期符合條件,則將自動創建三封電子郵件。
2.如果沒有符合條件的日期,則不會觸發此代碼。
3.僅當您將Outlook用作電子郵件程序時,VBA代碼才起作用。
相關文章:
- 如何基於Excel中的單元格值自動發送電子郵件?
- 當工作簿保存在Excel中時,如何通過Outlook發送電子郵件?
- 如果在Excel中修改了某個單元格,該如何發送電子郵件?
- 如果在Excel中單擊按鈕,如何發送電子郵件?
- 如果在Excel中更新了工作簿,如何發送電子郵件提醒或通知?
最佳辦公效率工具
Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%
- 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
- 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
- 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
- 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
- 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
- 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
- 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
- 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
- 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆
- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!












































