Как да изпратите имейл, ако определена клетка е променена в 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% и намалява стотици кликвания на мишката за вас всеки ден!