Come inviare e-mail se una determinata cella viene modificata in Excel?
Questo articolo parla dell'invio di un'e-mail tramite Outlook quando una cella in un determinato intervallo viene modificata in Excel.
Invia e-mail se la cella in un determinato intervallo viene modificata con il codice VBA
Invia e-mail se la cella in un determinato intervallo viene modificata con il codice VBA
Se è necessario creare automaticamente una nuova e-mail con la cartella di lavoro attiva allegata quando una cella nell'intervallo A2: E11 viene modificata in un determinato foglio di lavoro, il seguente codice VBA può aiutarti.
1. Nel foglio di lavoro che devi inviare e-mail in base alla sua cella modificata in un determinato intervallo, fai clic con il pulsante destro del mouse sulla scheda del foglio e Visualizza codice dal menu contestuale. Vedi screenshot:
2. Nel spuntare Microsoft Visual Basic, Applications Edition finestra, copia e incolla sotto il codice VBA nella finestra del codice.
Codice VBA: invia e-mail se la cella in un intervallo specificato viene modificata in 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
Note:
3. premi il altro + Q contemporaneamente i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.
D'ora in poi, qualsiasi cella nell'intervallo A2: E11 verrà modificata, verrà creata una nuova email con la cartella di lavoro aggiornata allegata. E tutti i campi specificati come oggetto, destinatario e corpo dell'e-mail verranno elencati nell'e-mail. Si prega di inviare l'email.
Note:: Il codice VBA funziona solo se stai utilizzando Outlook come programma di posta elettronica.
Articoli correlati:
- Come inviare automaticamente e-mail in base al valore della cella in Excel?
- Come inviare un'e-mail tramite Outlook quando la cartella di lavoro viene salvata in Excel?
- Come inviare e-mail se si fa clic sul pulsante in Excel?
- Come inviare e-mail se la data di scadenza è stata rispettata in Excel?
- Come inviare un promemoria o una notifica tramite posta elettronica se la cartella di lavoro viene aggiornata in Excel?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!