Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як швидко надіслати електронний лист на основі дати в комірці 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 для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    cata · 4 months ago
    hola
    gracias por tu ayuda
    ...tengo una consulta.....en la formula Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8), el 8 que significa?

  • To post as a guest, your comment is unpublished.
    Jorge Barrios · 2 years ago
    Felicidades por el material; pero no me funciona. Al parecer el Rango no se llena, por ende queda vacío y sale de la rutina.

    Alguna corrección ?
  • To post as a guest, your comment is unpublished.
    EdwardLSnyder · 3 years ago
    This is close to what I need but I am stuck with two problems. 1st I need to run this across my entire workbook that gets new worksheets added daily. 2nd I need it to include the worksheet name in the email so I will know which sheet is due. I create new tickets (worksheets) with a field that is a future date, when that day arrives I need an email. Thank you for your help.
  • To post as a guest, your comment is unpublished.
    Stephen Davis · 3 years ago
    How do I get VBA in Excel to generate an email when a cell changes color? I am able to use formula to have cells' font change, based on the computer clock, when a date is within a range before expiry. I currently have a spreadsheet with 25 employee's names and the dates of expiry for their driver's license, work permits, entry/exit visa dates, and annual start date. Some dates are 30 days, some are 60 days. Whenever a date enters the 30 (or 60) day range before expiry, the value in the cell changes from normal black to bold red font. I want to be able to have an email sent to me warning that the person in A1...A2...A3, etc. is about to have a work document expire. What is the script I need to run to accomplish this?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Hello, here is an article maybe can help you. https://www.extendoffice.com/documents/excel/4661-excel-send-email-if-cell-is-modified.html