Cum să trimiteți e-mail dacă o anumită celulă este modificată în Excel?
Acest articol vorbește despre trimiterea unui e-mail prin Outlook atunci când o celulă dintr-un anumit interval este modificată în Excel.
Trimiteți e-mail dacă celula dintr-un anumit interval este modificată cu codul VBA
Trimiteți e-mail dacă celula dintr-un anumit interval este modificată cu codul VBA
Dacă trebuie să creați automat un nou e-mail cu registrul de lucru activ atașat atunci când o celulă din intervalul A2:E11 este modificată într-o anumită foaie de lucru, următorul cod VBA vă poate ajuta.
1. În foaia de lucru de care trebuie să trimiteți e-mail pe baza celulei modificate dintr-un anumit interval, faceți clic dreapta pe fila de foaie și apoi faceți clic pe Afișați codul din meniul contextual. Vedeți captura de ecran:
2. În fereastra pop-up Microsoft Visual Basic pentru aplicații fereastra, vă rugăm să copiați și să lipiți mai jos codul VBA în fereastra Cod.
Cod VBA: trimiteți e-mail dacă celula dintr-un interval specificat este modificată în 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
notițe:
3. apasă pe Alt + Q tastele simultan pentru a închide Microsoft Visual Basic pentru aplicații fereastră.
De acum înainte, orice celulă din intervalul A2: E11 este modificată, va fi creat un nou e-mail cu registrul de lucru actualizat atașat. Și toate câmpurile specificate, cum ar fi subiectul, destinatarul și corpul e-mailului, vor fi listate în e-mail. Vă rugăm să trimiteți e-mailul.
notițe: Codul VBA funcționează numai dacă utilizați Outlook ca program de e-mail.
Legate de articole:
- Cum să trimiteți automat e-mailuri pe baza valorii celulei din Excel?
- Cum să trimiteți un e-mail prin Outlook când registrul de lucru este salvat în Excel?
- Cum să trimiteți e-mail dacă se face clic pe buton în Excel?
- Cum să trimiteți e-mail dacă data limită a fost respectată în Excel?
- Cum să trimiteți memento sau notificare prin e-mail dacă registrul de lucru este actualizat în Excel?
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools for Excelși experimentați eficiența ca niciodată înainte. Kutools for Excel Oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Office Tab Aduce interfața cu file la Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!

















