Як надіслати електронну пошту, якщо певна комірка змінена в 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?
- Як надіслати електронне повідомлення через Outlook, коли книга зберігається в Excel?
- Як надіслати електронне повідомлення, якщо в Excel натиснуто кнопку?
- Як надіслати електронне повідомлення, якщо термін виконання досягнуто в Excel?
- Як надіслати нагадування або сповіщення електронною поштою, якщо книгу оновлено в Excel?
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!