Як надіслати електронне повідомлення, якщо термін виконання досягнуто в Excel?
Як показано на знімку екрана, якщо термін виконання в стовпці C менше або дорівнює 7 дням (поточна дата - 2017/9/13), надішліть нагадування електронною поштою вказаному одержувачу в стовпці A із зазначеним вмістом у стовпці B. Як цього досягти? У цій статті буде запропоновано метод VBA для детального розгляду цього питання.
Надішліть електронне повідомлення, якщо термін виконання зазначений із кодом VBA
Надішліть електронне повідомлення, якщо термін виконання зазначений із кодом VBA

Будь ласка, виконайте наступні дії, щоб надіслати нагадування електронною поштою, якщо термін виконання досягнуто в Excel.
1 Натисніть кнопку інший + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.
2 В Microsoft Visual Basic для додатків вікно, натисніть Insert > Модулі. Потім скопіюйте та вставте наведений нижче код 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. прес la Клавіша F5 для запуску коду. У першій вискакує Kutools для Excel діалоговому вікні, будь-ласка, виберіть діапазон стовпців дати, а потім натисніть OK кнопку. Дивіться знімок екрана:
4. Потім другий Kutools для Excel з'явиться діалогове вікно, виберіть відповідний діапазон стовпців, що містить адреси електронної пошти одержувачів, і натисніть на OK кнопку. Дивіться знімок екрана:
5. В останній Kutools для Excel діалоговому вікні, виберіть вміст, який ви хочете відображати в тілі електронної пошти, а потім клацніть на OK кнопки.
Тоді електронний лист буде автоматично створений із зазначеним одержувачем, темою та тілом, якщо термін подання у стовпці C менше або дорівнює 7 дням. Клацніть на Відправити , щоб надіслати електронне повідомлення.
примітки:
1. Кожен створений електронний лист відповідає терміну виконання. Наприклад, якщо три терміни виконання відповідають критеріям, три повідомлення електронної пошти будуть створені автоматично.
2. Цей код не буде спрацьовувати, якщо відсутні дати, що відповідають критеріям.
3. Код VBA працює лише тоді, коли ви використовуєте Outlook як програму електронної пошти.
Статті по темі:
- Як автоматично надсилати електронну пошту на основі значення комірки в Excel?
- Як надіслати електронне повідомлення через Outlook, коли книга зберігається в Excel?
- Як надіслати електронну пошту, якщо певна комірка змінена в Excel?
- Як надіслати електронне повідомлення, якщо в Excel натиснуто кнопку?
- Як надіслати нагадування або сповіщення електронною поштою, якщо книгу оновлено в Excel?
Найкращі інструменти для підвищення продуктивності офісу
Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%
- Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
- Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
- Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
- Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
- Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
- Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
- Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
- Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
- Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!












































