Come inviare un'email quando la data di scadenza è stata raggiunta in Excel?
Come illustrato nello screenshot seguente, se la data di scadenza nella colonna C è minore o uguale a 7 giorni (ad esempio, oggi è il 13/9/2017), viene inviata un’e-mail al destinatario indicato nella colonna A, con il contenuto della colonna B inserito nel corpo del messaggio. Come si può implementare questa funzionalità? Questo articolo fornisce un codice VBA per aiutarti a realizzarla.

Invia un'email se Data di scadenza è stato soddisfatto con codice VBA
Invia un'email se Data di scadenza è stato soddisfatto con codice VBA
Procedi come segue per inviare un promemoria via email quando la data di scadenza è stata raggiunta in Excel.
1. Premi contemporaneamente i tasti Alt+F11 per aprire la finestra di Microsoft Visual Basic, Applications.
2. Nella finestra di Microsoft Visual Basic, Applications, fai clic su Inserisci > Modulo. Quindi, copia e incolla il codice VBA riportato di seguito nella finestra del modulo.
Codice VBA: Invia un'email se Data di scadenza viene chiuso in Excel
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub Nota: La riga If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then nel codice VBA indica che la data di scadenza deve essere superiore a 1 giorno e minore o uguale a 7 giorni. Puoi modificarla in base alle tue esigenze.
3. Premi il tasto F5 per eseguire il codice. Nella prima finestra di dialogo Kutools per Excel visualizzata, seleziona l'intervallo di colonne relativo alla data di scadenza e fai clic sul pulsante OK. Vedi screenshot:

4. Si aprirà quindi la seconda finestra di dialogo Kutools per Excel. Seleziona l'intervallo di colonne corrispondente contenente gli indirizzi email dei destinatari e fai clic sul pulsante OK. Vedi screenshot:

5. Nell'ultima finestra di dialogo Kutools per Excel, seleziona il contenuto da visualizzare nel corpo dell'email e fai clic sul pulsante OK.

Verrà automaticamente creata un'email con il destinatario, l'oggetto e il corpo specificati qualora la data di scadenza nella colonna C sia minore o uguale a 7 giorni. Fai clic sul pulsante Invia per inviare l'email.

Note:
1. Ogni email creata corrisponde a un Data di scadenza. Ad esempio, se tre Data di scadenza soddisfano i criteri, verranno create automaticamente tre email.
2. Il codice non verrà attivato se nessuna data soddisfa i criteri.
3. Il codice VBA funziona solo se utilizzi Outlook come client di posta elettronica.

Sblocca la magia di Excel con KUTOOLS AI
- Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
- Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
- Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
- Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
- Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Articoli correlati:
- Come inviare automaticamente un'email in base al valore contenuto in una cella di Excel?
- Come inviare un'email tramite Outlook al salvataggio della cartella di lavoro in Excel?
- Come inviare un'email automaticamente quando una determinata cella in Excel viene modificata?
- Come inviare un'email facendo clic su un pulsante in Excel?
- Come inviare un promemoria o una notifica via email quando la cartella di lavoro viene aggiornata in Excel?
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- 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 all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi