Как отправить электронное письмо, если определенная ячейка изменена в Excel?
В этой статье рассказывается об отправке электронного письма через Outlook, когда ячейка в определенном диапазоне изменяется в Excel.
Отправить электронное письмо, если ячейка в определенном диапазоне изменена с помощью кода VBA
Отправить электронное письмо, если ячейка в определенном диапазоне изменена с помощью кода VBA
Если вам нужно автоматически создать новое электронное письмо с активной рабочей книгой, когда ячейка в диапазоне A2: E11 изменяется на определенном листе, вам может помочь следующий код VBA.
1. На листе, который необходимо отправить по электронной почте на основе измененной ячейки в определенном диапазоне, щелкните правой кнопкой мыши вкладку листа, а затем щелкните значок Просмотреть код из контекстного меню. Смотрите скриншот:
2. Во всплывающем Microsoft Visual Basic для приложений окна, скопируйте и вставьте ниже код VBA в окно кода.
Код VBA: отправить электронное письмо, если ячейка в указанном диапазоне изменена в Excel
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xRg = Range("A2:E11")
Set xRgSel = Intersect(Target, xRg)
ActiveWorkbook.Save
If Not xRgSel Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = "Email Address"
.Subject = "Worksheet modified in " & ThisWorkbook.FullName
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Заметки:
3. нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
С этого момента любая ячейка в диапазоне A2: E11 будет изменена, будет создано новое электронное письмо с прикрепленной обновленной книгой. И все указанные поля, такие как тема, получатель и тело письма, будут перечислены в письме. Отправьте электронное письмо.
Внимание: код VBA работает, только если вы используете Outlook в качестве почтовой программы.
Разблокируйте магию Excel с помощью Kutools AI
- Умное исполнение: выполнение операций с ячейками, анализ данных и создание диаграмм — и все это осуществляется с помощью простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации рабочих процессов.
- VBA-кодирование: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формулы: Легкое понимание сложных формул.
- Перевод текста: преодолевайте языковые барьеры в своих таблицах.
Статьи по теме:
- Как автоматически отправлять электронную почту на основе значения ячейки в Excel?
- Как отправить электронное письмо через Outlook, когда книга сохранена в Excel?
- Как отправить электронное письмо, если в Excel нажата кнопка?
- Как отправить электронное письмо, если срок в Excel соблюден?
- Как отправить напоминание или уведомление по электронной почте, если книга обновлена в Excel?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!