Excel: come Creare un Pulsante per Inviare Email Personalizzate
Tutorial Excel: creare un pulsante per inviare delle email
👇 Scorri in basso per copiare il codice VBA 👇
Excel: come Creare un Pulsante per Inviare Email Personalizzate
- 00:00 – introduzione
- 00:20 – Impostazione Iniziale
- 00:45 – creare un menù a tendina
- 01:05 – formattazione condizionale
- 01:30 – codice VBA
- 02:15 – creazione pulsante
- 02:26 – test funzionamento esercizio
- 02:36 – come scaricare il modello del preventivo
Come Creare un Pulsante per Inviare Email Personalizzate
[Introduzione] 0:00 Se stai cercando un modo per automatizzare l’invio di email personalizzate tramite Excel, sei nel posto giusto! In questo breve tutorial, ti mostrerò come creare un pulsante che ti permetterà di spedire un’email personalizzata con un solo click. Continua a seguirmi per imparare questa utile funzionalità di Excel.
Per prima cosa, assicuriamoci di essere sulla stessa pagina. Poiché utilizzeremo del codice VBA (Visual Basic for Applications), è importante salvare il file nel formato giusto. Vai su “File,” seleziona “Salva con Nome,” e scegli “Cartella di Lavoro con Attivazione Macro.” Assegna un nome al tuo file e assicurati di avere l’estensione “.xlsm.”
[Creare un Menù a Tendina] 0:52
Ora, creiamo un elenco a discesa che ci permetterà di selezionare se la consegna è stata effettuata o meno. Vai su “Dati,” seleziona “Convalida,” e scegli “Elenco da Origine.” Seleziona le celle che contengono “Sì” e “No” (generalmente E1 ed E2) e conferma. Questo ci permetterà di segnare se l’utente ha consegnato l’esame o meno.
[Formattazione Condizionale] 1:27
Per una maggiore chiarezza, possiamo utilizzare la formattazione condizionale. Crea una nuova regola di formattazione condizionale per evidenziare in rosso chi deve ancora consegnare l’esame. Utilizza la formula: =C2="No"
per formattare in rosso le celle in cui è segnato “No.”
[Invio delle Email e creazione del codice VBA] 2:08
Ora entriamo nel cuore del nostro tutorial: creare il codice VBA per automatizzare l’invio delle email. Puoi trovare il codice completo sul mio sito [inserire il tuo URL]. Copia il codice e incollalo in un nuovo modulo VBA.
Per far funzionare il codice correttamente, assicurati di modificare il nome del foglio di lavoro. In particolare, sostituisci “esame” con il nome del tuo foglio, se diverso. Modifica anche il testo dell’email secondo le tue esigenze, ad esempio, l’oggetto dell’email e il messaggio stesso.
Torna al tuo foglio Excel e inserisci un pulsante tramite “Inserisci.” Quindi, assegna al pulsante la macro che abbiamo appena creato: “Invia Email a Chi Non Ha Ancora Inviato.”
[Risultato] 4:19
Ora, quando cliccherai su questo pulsante, Excel invierà automaticamente un’email personalizzata agli utenti che non hanno ancora consegnato l’esame. Puoi vedere il messaggio di conferma e il destinatario nell’interfaccia di Excel.
Se questo tutorial ti è stato utile, sostieni il mio lavoro lasciando un like e iscrivendoti al mio canale 🙏
Tutorial Excel: il codice VBA per creare un pulsante che invii delle email di sollecito a un elenco di utenti
Copia il seguente codice e incollalo nell’Editor VBA della tua cartella Excel:
Sub InviaEmailNO()
Dim OutApp As Object
Dim OutMail As Object
Dim Rng As Range
Dim Cell As Range
Dim NomiInviati As String ' Stringa per memorizzare i nomi inviati
Dim CorrispondenzaTrovata As Boolean ' Variabile di controllo
' Inizializza la stringa dei nomi inviati
NomiInviati = ""
' Inizializza la variabile di controllo
CorrispondenzaTrovata = False
' Crea un'applicazione Outlook
Set OutApp = CreateObject("Outlook.Application")
' Imposta il foglio di lavoro e l'intervallo di celle
Set Rng = ThisWorkbook.Sheets("NomeDelTuoFoglio").Range("A1:C" & Cells(Rows.Count, "A").End(xlUp).Row)
' Loop attraverso le righe dell'intervallo
For Each Cell In Rng.Rows
If Cell.Cells(1, 3).Value = ThisWorkbook.Sheets("NomeDelTuoFoglio").Range("E2").Value Then
' Crea un nuovo messaggio email
Set OutMail = OutApp.CreateItem(0)
' Configura il destinatario (indirizzo email dalla colonna B)
OutMail.To = Cell.Cells(1, 2).Value
' Oggetto del messaggio (personalizzalo a tuo piacimento)
OutMail.Subject = "Oggetto dell'email"
' Messaggio personalizzato nel corpo dell'email
Dim Nome As String
Dim Scadenza As String
Nome = Cell.Cells(1, 1).Value ' Contenuto dalla colonna A
Scadenza = ThisWorkbook.Sheets("NomeDelTuoFoglio").Range("G1").Value ' Contenuto di G1
OutMail.Body = "Gentile " & Nome & ", " & vbCrLf & _
"Le ricordo che l'esame va consegnato entro e non oltre il " & Scadenza & "." & vbCrLf & vbCrLf & _
""
' Invia l'email
OutMail.Send
' Aggiungi il nome dalla colonna A alla stringa dei nomi inviati
NomiInviati = NomiInviati & Nome & ", "
' Imposta la variabile di controllo su True
CorrispondenzaTrovata = True
' Libera la memoria dall'oggetto email
Set OutMail = Nothing
End If
Next Cell
' Chiudi l'applicazione Outlook
Set OutApp = Nothing
' Se non è stata trovata alcuna corrispondenza, mostra un messaggio
If Not CorrispondenzaTrovata Then
MsgBox "Niente da sollecitare", vbInformation
Else
' Rimuovi l'eventuale virgola finale dalla stringa dei nomi inviati
NomiInviati = Left(NomiInviati, Len(NomiInviati) - 2)
' Visualizza il pop-up con i nomi inviati
MsgBox "Email inviata a: " & NomiInviati
End If
End Sub
Facebook, Instagram, YouTube, Tik Tok, LinkedIn !
Una risposta.
Buonasera,
la ringrazione per il tutorial, le chiedo cortesemente solo una semplice specifica. Sono riuscito a fare girare la macro ma, una volta spinto il tasto mi appare il seguente pop-up:
Errore di run-time ‘-2147467259 (80004005)’
E’ necessario specificare il destinatario. Immettere almeno un nome.