Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come inviare un'email se la data di scadenza è stata raggiunta in Excel?

Author Siluvia Last modified

Come mostrato nello screenshot sottostante, se la data di scadenza nella colonna C è minore o uguale a 7 giorni (ad esempio, la data corrente è il 13/9/2017), viene inviata un'email al destinatario specificato nella colonna A e il contenuto specificato nella colonna B viene visualizzato nel corpo dell'email. Come si può fare per realizzarlo? Questo articolo fornisce un codice VBA per aiutarti a completare questa attività.

sample data

Invia email se la data di scadenza è stata raggiunta con il codice VBA


Invia email se la data di scadenza è stata raggiunta con il codice VBA

Si prega di seguire i passaggi seguenti per inviare un promemoria via email se la data di scadenza è stata raggiunta in Excel.

1. Premere contemporaneamente i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Nella finestra Microsoft Visual Basic for Applications, fare clic su Inserisci > Modulo. Quindi copiare e incollare il seguente codice VBA nella finestra Modulo.

Codice VBA: Invia email se la data di scadenza è vicina 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

Note: La riga If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then nel codice VBA significa che la data di scadenza deve essere maggiore di 1 giorno e minore o uguale a 7 giorni. È possibile modificarla secondo le proprie esigenze.

3. Premere il tasto F5 per eseguire il codice. Nel primo riquadro di dialogo Kutools for Excel che appare, selezionare l'intervallo della colonna della data di scadenza e quindi fare clic sul pulsante OK. Vedere lo screenshot:

vba code to select the due date column

4. Successivamente, appare il secondo riquadro di dialogo Kutools for Excel, selezionare l'intervallo della colonna corrispondente che contiene gli indirizzi email dei destinatari e fare clic sul pulsante OK. Vedere lo screenshot:

 vba code to select the recipients’ email addresses

5. Nell'ultimo riquadro di dialogo Kutools for Excel, selezionare il contenuto che si desidera visualizzare nel corpo dell'email e quindi fare clic sul pulsante OK.

vba code to select the content you want to display in the email body

Verrà quindi creata automaticamente un'email con il destinatario specificato, l'oggetto e il corpo elencati, se la data di scadenza nella colonna C è minore o uguale a 7 giorni. Fare clic sul pulsante Invia per inviare l'email.

an email is created  with the specified recipient, subject and body listed out if the due date

Note:

1. Ogni email creata corrisponde a una data di scadenza. Ad esempio, se ci sono tre date di scadenza che soddisfano i criteri, verranno create automaticamente tre email.

2. Questo codice non verrà attivato se non ci sono date che soddisfano i criteri.

3. Il codice VBA funziona solo quando si utilizza Outlook come programma di posta elettronica.

a screenshot of kutools for excel ai

Sblocca la Magia di Excel con Kutools AI

  • Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
  • Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
  • Interpretazione delle Formule: Comprendi facilmente formule complesse.
  • Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

Articoli correlati:

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
  • Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!

Tutti gli add-in Kutools. Un solo programma di installazione

La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.

Excel Word Outlook Tabs PowerPoint
  • Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
  • Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
  • Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
  • Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in