Come inviare un'email a più destinatari da un elenco in Excel tramite Outlook?
In molti contesti lavorativi potresti trovarti a dover gestire un elenco di indirizzi email memorizzati in una colonna di un foglio Excel, ad esempio per inviare newsletter, fatture o notifiche ai partecipanti a un evento. Invece di digitare manualmente ogni indirizzo o aprire Outlook per creare singolarmente i messaggi, puoi sfruttare Excel per inviare email a tutti i destinatari direttamente e contemporaneamente. Questa guida ti offre soluzioni dettagliate per automatizzare l’invio di email multiple da Excel, integrandosi con Outlook per risparmiare tempo e ridurre gli errori.
Invia un'email a più destinatari da Excel con codice VBA
Invia un'email a più destinatari da Excel con codice VBA
Se desideri inviare la stessa email a un gruppo di persone contemporaneamente e hai il loro elenco indirizzi in una colonna del foglio di lavoro, puoi automatizzare l’operazione con il codice VBA. Questo metodo è ideale per notifiche collettive o aggiornamenti di gruppo, senza dover inserire manualmente i destinatari in Outlook. Segui questi passaggi:
1. Premi ALT + F11 contemporaneamente per aprire la finestra di Microsoft Visual Basic, Applications Edition. Se non hai attivato la scheda Sviluppo, puoi trovare le istruzioni nelle impostazioni di Excel.
2. Nella finestra VBA, fai clic su Inserisci > Modulo. Si aprirà una finestra Modulo vuota in cui potrai inserire il tuo codice. Incolla il seguente codice all’interno:
Codice VBA: Invia email a più destinatari
Sub sendmultiple()
'updateby Extendoffice
Dim xOTApp As Object
Dim xMItem As Object
Dim xCell As Range
Dim xRg As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOTApp = CreateObject("Outlook.Application")
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
Set xMItem = xOTApp.CreateItem(0)
With xMItem
.To = xEmailAddr
.Display
End With
End Sub
3. Premi F5(o fai clic su Esegui) per eseguire il codice. Apparirà una finestra di dialogo che ti chiederà di selezionare l’elenco degli indirizzi dal tuo foglio di lavoro. Questo passaggio ti permette di selezionare facilmente tutte le celle contenenti gli indirizzi email necessari, assicurando che il codice includa solo destinatari con un formato email valido ()*@*). Vedi screenshot:

4. Dopo aver selezionato gli indirizzi, fai clic su OK. Outlook aprirà una nuova finestra di Messaggio con gli indirizzi scelti inseriti automaticamente nel campo A. Potrai quindi specificare l’oggetto e scrivere il messaggio secondo le tue esigenze. La finestra ti consente di apportare ulteriori modifiche, se necessario, per personalizzare o chiarire il contenuto. Vedi screenshot:

5. Una volta completato il messaggio, fai clic sul pulsante Invia per inviare l’email a tutti i destinatari elencati contemporaneamente. Questo approccio ti assicura di non tralasciare alcun indirizzo e velocizza la comunicazione di gruppo.
Suggerimento: assicurati che Outlook sia installato e configurato come client di posta predefinito per garantire il corretto funzionamento di questo metodo. In caso di problemi, ad esempio se la finestra di richiesta non viene visualizzata, controlla le impostazioni di sicurezza delle macro in Excel.
Scenari applicabili: utilizza questo metodo per annunci interni, notifiche di eventi o per inviare le stesse informazioni a più destinatari. Il vantaggio? Velocità e precisione con il minimo sforzo manuale. Il limite? L’impossibilità di personalizzare il messaggio per ciascun destinatario.
Risoluzione problemi: se la finestra del messaggio di Outlook non si apre, verifica che Outlook sia in esecuzione normalmente e impostato come gestore predefinito della posta. Assicurati inoltre che tutte le celle selezionate contengano Indirizzo Email validi—è prevista una gestione degli errori, ma per risultati ottimali evita celle vuote o con formato errato.
Invia email personalizzate a più destinatari con allegati diversi: Per esigenze più avanzate, come inviare allegati univoci, contenuti personalizzati o aggiungere automaticamente CC/Ccn, la funzione Kutools per Excel Invia email ti consente di inviare rapidamente e facilmente email personalizzate da Excel tramite Outlook. Questa funzione ti permette di personalizzare ogni messaggio in base al destinatario, allegare file specifici e inserire destinatari nei campi CC/Ccn secondo le tue esigenze, per una spedizione collettiva ancora più flessibile.Fai clic per scaricare Kutools per Excel!
|
Invia un'email a più destinatari con il Foglio di lavoro corrente come allegato utilizzando codice VBA
Se devi inviare la cartella di lavoro Excel corrente a un gruppo di destinatari come allegato, la seguente soluzione VBA può automatizzare l’intera procedura. Questo metodo è ideale per condividere report, riepiloghi finanziari o documenti collaborativi con più stakeholder.
1. Apri Excel e premi ALT + F11 per avviare l’ambiente di Microsoft Visual Basic, Applications Edition.
2.Nell’editor VBA, vai su Inserisci>Modulo, quindi copia e incolla il codice seguente nella finestra del modulo:
Codice VBA: Invia email a più destinatari con il Foglio di lavoro corrente come allegato
Sub EmailAttachmentRecipients()
'updateby Extendoffice
Dim xOutlook As Object
Dim xMailItem As Object
Dim xRg As Range
Dim xCell As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the arresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOutlook = CreateObject("Outlook.Application")
Set xMailItem = xOutlook.CreateItem(0)
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
With xMailItem
.To = xEmailAddr
.CC = ""
.Subject = ""
.Body = ""
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
Set xOutlook = Nothing
Set xMailItem = Nothing
End Sub
3. Premi F5 per eseguire il codice. Apparirà una finestra di dialogo per selezionare le celle contenenti gli indirizzi email. Questo meccanismo ti permette di includere facilmente tutti i destinatari rilevanti dal foglio di lavoro e garantisce che vengano aggiunti solo indirizzi email con formato corretto. Vedi lo screenshot seguente:

4. Dopo aver confermato la selezione, fai clic su OK. Outlook creerà automaticamente una nuova finestra di Messaggio con i destinatari selezionati elencati nel campo A e aggiungerà la cartella di lavoro attualmente aperta come allegato. Potrai quindi personalizzare oggetto e contenuto del messaggio prima dell’invio. Vedi screenshot:

5. Fai clic sul pulsante Invia per inviare la tua email—con la cartella di lavoro allegata—a tutti i destinatari selezionati in un’unica operazione.
Avvertenza: se la tua cartella di lavoro contiene informazioni sensibili, verifica attentamente l’elenco dei destinatari prima dell’invio. In caso di errore durante l’allegazione del file, assicurati che la cartella di lavoro sia salvata e non aperta in un altro programma, e che Outlook sia configurato correttamente per l’invio automatico di email.
Casi d’uso: questa soluzione è ampiamente utilizzata per distribuire report periodici, inviare cartelle di lavoro collaborative o condividere file di riferimento con team o clienti. È efficiente per la consegna collettiva di documenti, ma non consente allegati separati per destinatario.
Problemi comuni: se la finestra di richiesta non si apre o l’email non viene inviata, assicurati di aver concesso le autorizzazioni per le macro e di aver salvato la cartella di lavoro prima di eseguire il codice. Controlla inoltre che non ci siano celle vuote nella selezione, poiché il codice salta automaticamente i contenuti che non rispettano i formati standard delle email.
Soluzione alternativa: Invia Indirizzo Email separati da punti e virgola utilizzando una formula Excel
Se desideri raccogliere rapidamente un elenco di indirizzi email in un’unica cella—separati da punti e virgola per facilitarne la copia nei campi A, Cc o Ccn di Outlook—le formule di Excel offrono una soluzione rapida e semplice, soprattutto se preferisci non ricorrere alle macro.
1. Supponiamo che i tuoi indirizzi email siano elencati nella colonna A, dalle righe 1 alla 7. Inserisci la seguente formula in una cella vuota (ad esempio, B1):
=TEXTJOIN(";",TRUE,A1:A7) 2. Premi Invio. Il risultato sarà una stringa di testo unica contenente tutti gli indirizzi email dell’intervallo selezionato, separati da punti e virgola. Potrai quindi copiare questa cella e incollarla direttamente nei campi dei destinatari di Outlook.
Parametri della formula:
- TESTO.UNISCI: unisce un intervallo di celle usando il delimitatore specificato—in questo caso, un punto e virgola.
- VERO: Esclude eventuali celle vuote nell’intervallo. Tutti gli indirizzi email validi verranno concatenati senza spazi.
- A1:A10: Aggiorna questo intervallo in base al tuo elenco di indirizzi email.
Vantaggi: questo approccio non richiede l’attivazione delle macro, risultando ideale per ambienti in cui VBA è limitato. È perfetto per copiare rapidamente un elenco già compilato in qualsiasi piattaforma di posta elettronica, non solo Outlook.
Limitazioni: A differenza di VBA, non crea automaticamente un'email né automatizza l’invio, ma rende più efficiente la gestione degli elenchi di destinatari.
Suggerimento: se il tuo elenco cambia, aggiorna di conseguenza l'intervallo della formula. Per formati che non utilizzano il punto e virgola come delimitatore, sostituisci ";" con il carattere desiderato.
Articolo correlato:
Come inviare email personalizzate in massa a un elenco tratto da Excel tramite Outlook?
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
