Note: The other languages of the website are Google-translated. Back to English

Як швидко надіслати електронний лист на основі дати в комірці Excel?

Ви коли-небудь пробували надіслати електронне повідомлення на основі дати в комірці Excel? Наприклад, ось список дат у стовпці А, а потім ви хочете надіслати електронний лист із темою, тілом повідомлення одержувачу (також можна CC та BCC іншим), як ви можете з цим обробляти?

Надіслати електронний лист за датою за допомогою VBA


Надіслати електронний лист за датою за допомогою VBA

Щоб надіслати електронний лист на основі дати в Excel, можна застосувати лише макрокод.

1. Увімкніть аркуш, що містить дані та дату, яку ви використовуєте, та натисніть Alt + F11 клавіші, щоб увімкнути Microsoft Visual Basic для додатків вікна.

2. клацання Insert > Модуліі вставте код нижче в порожній сценарій. 

VBA: Надіслати за датою

Sub email()
'UpdatebyExtendoffice20170831
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xAddress As String
    Dim xEmail_Subject, xEmail_Send_From, xEmail_Send_To, xEmail_Cc, xEmail_Bcc, xEmail_Body As String
    Dim xMail_Object, xMail_Single As Object
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    For Each xRgEach In xRg
        If xRgEach.Value = Date Then
            xEmail_Subject = Application.InputBox("Subject: ", "Kutools", , , , , , 2)
            xEmail_Send_From = Application.InputBox("Send from: ", "KuTools For Excel", , , , , , 2)
            xEmail_Send_To = Application.InputBox("Send to: ", "KuTools For Excel", , , , , , 2)
            If xEmail_Send_To = "" Then Exit Sub
            xEmail_Cc = Application.InputBox("CC: ", "KuTools For Excel", , , , , , 2)
            xEmail_Bcc = Application.InputBox("BCC: ", "KuTools For Excel", , , , , , 2)
            xEmail_Body = Application.InputBox("Message Body: ", "KuTools For Excel", , , , , , 2)
            Set xMail_Object = CreateObject("Outlook.Application")
            Set xMail_Single = xMail_Object.CreateItem(0)
            With xMail_Single
                .Subject = xEmail_Subject
                .To = xEmail_Send_To
                .cc = xEmail_Cc
                .BCC = xEmail_Bcc
                .Body = xEmail_Body
                .Send
            End With
        End If
    Next
End Sub

3. клацання прогін кнопку або натисніть F5 клавіша для виконання коду, вискакує діалогове вікно, що нагадує вам про вибір списку дат. Дивіться знімок екрана:
doc надіслати за датою 1

4. Клацніть OK і продовжуйте вказувати тему електронної пошти, адресу електронної пошти відправника, адресу електронної пошти одержувача, CC, BCC та тіло повідомлення. Дивіться знімок екрана:

doc надіслати за датою 2 постріл стрілка вправо doc надіслати за датою 3 постріл стрілка вправо doc надіслати за датою 4
        doc стрілка вниз
doc надіслати за датою 7 постріл стрілка вліво doc надіслати за датою 6 постріл стрілка вліво doc надіслати за датою 5

5. клацання OK > OK до останнього, а потім електронний лист надіслано.
doc надіслати за датою 8

Примітка: електронна адреса відправника повинна бути обліковим записом за замовчуванням у вашому Outlook.


Створення списку розсилки та надсилання електронних листів

doc надіслати електронне повідомлення

Найкращі інструменти для підвищення продуктивності офісу

Kutools for Excel Вирішує більшість ваших проблем і підвищує вашу продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (16)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Як змусити VBA в Excel генерувати електронний лист, коли клітинка змінює колір? Я можу використовувати формулу, щоб змінити шрифт клітинок на основі годинника комп’ютера, коли дата знаходиться в діапазоні до закінчення терміну дії. Зараз у мене є електронна таблиця з іменами 25 співробітників та датами закінчення терміну дії їхніх водійських прав, дозволів на роботу, дат в’їздної/виїзної візи та річної дати початку. Деякі дати - 30 днів, інші - 60 днів. Кожного разу, коли дата входить у діапазон 30 (або 60) днів до закінчення терміну дії, значення в комірці змінюється зі звичайного чорного на напівжирний червоний шрифт. Я хочу, щоб мені було надіслано електронний лист із попередженням про те, що у особи з форматом A1...A2...A3 тощо закінчиться термін дії робочого документа. Який сценарій мені потрібно запустити, щоб виконати це?
Цей коментар був мінімізований модератором на сайті
Привіт, ось стаття, можливо, допоможе вам. https://www.extendoffice.com/documents/excel/4661-excel-send-email-if-cell-is-modified.html
Цей коментар був мінімізований модератором на сайті
Це близько до того, що мені потрібно, але я застряг із двома проблемами. По-перше, мені потрібно запустити це на всю мою робочу книгу, до якої щодня додаються нові аркуші. По-друге, мені потрібно включити ім’я робочого аркуша в електронний лист, щоб я знав, який аркуш потрібно виконати. Я створюю нові квитки (робочі аркуші) з полем, яке є датою в майбутньому, коли настане цей день, мені потрібен електронний лист. Дякую за твою допомогу.
Цей коментар був мінімізований модератором на сайті
Felicidades por el material; але я не функціоную. Al parecer el Rango no se llena, por ende queda vacío y sale de la rutina.

Alguna correction ?
Цей коментар був мінімізований модератором на сайті
holagracias por tu ayuda...tengo una consulta.....en la formula Set xRgDate = Application.InputBox("Будь ласка, виберіть стовпець дати виконання:", "KuTools For Excel", , , , , , 8), el 8 que significa?
Цей коментар був мінімізований модератором на сайті
Поля не заповнюються автоматично після натискання ОК. Де я можу змінити тему, адресу електронної пошти та тіло листа в коді?
Цей коментар був мінімізований модератором на сайті
Bonjour j'ai copié les codes, à la validation il me demande bien les cellules concernées, mais lorsque que je valide, il ne me propose pas la suite des fenêtres, sujets, adresses etc
Цей коментар був мінімізований модератором на сайті
Привіт, Боутрі, вибачте, що я відповідаю англійською, оскільки я не знаю французької. Чи можу я знати ваш формат дати та часу? Я думаю, можливо, код працює лише для datetime в англійському форматі дати.
Цей коментар був мінімізований модератором на сайті
Merhaba, bir excel dosyasında hatırlatıcı olarak bu konuyla ilgili VSB nin nasıl yapıldığı ile ilgili bilgiye ihtiyacım var. Örneğin boş bir hücreye bilgi girildiğinde bana mail at ya da 3 hafta sıklıkla hücreye bilgi girilip girilmediğiyle alakalı bana bilgi ver.

Hertürlü bilgi ve kaynağa açığım. Şimdiden herkese teşekkür ederim..
Цей коментар був мінімізований модератором на сайті
Привіт, Мехмете, ось підручник Як надіслати електронний лист, якщо певну комірку змінено в Excel? що говорити про надсилання електронного листа з файлом excel як вкладення, якщо клітинки в певному діапазоні змінено, що може вам допомогти.
Цей коментар був мінімізований модератором на сайті
Çok teşekkür ederim..
Цей коментар був мінімізований модератором на сайті
це не відбувається наступного xRgEach, якщо я маю ті самі дати кілька разів, він надсилає листи одному користувачеві кілька разів.
Цей коментар був мінімізований модератором на сайті
Привіт, vaibhav, ви можете видалити повторювані часи за допомогою функції «Видалити дублікати» в інструментах даних на вкладці «Дані», а потім за допомогою VBA.
Цей коментар був мінімізований модератором на сайті
привіт,


Це ідеально, але коли я додаю чи зміню дату, електронний лист не надсилається автоматично, мені потрібно запустити код знову, після чого я маю знову вибрати діапазон дат, відправника, одержувача та всю інформацію. чи можна якось вирішити цю проблему?
Цей коментар був мінімізований модератором на сайті
Коли я натискаю «Запустити дату» і мене просять вибрати діапазон, нічого не відбувається після того, як я натискаю «ОК»?
Цей коментар був мінімізований модератором на сайті
Привіт, Джейсон, вам потрібно вибрати клітинку або діапазон, який містить дати. Якщо вибрана клітинка чи діапазон порожні або не містять дат, макрос завершить роботу.
There are no comments posted here yet

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL