Skip to main content

Come inviare un'email a più destinatari da una lista di Excel tramite Outlook?

Author: Xiaoyang Last Modified: 2025-08-06

Se hai più indirizzi email in una colonna del foglio di lavoro e desideri inviare un'email a questa lista di destinatari direttamente da Excel senza aprire Outlook, questo articolo ti mostrerà come inviare email a più destinatari contemporaneamente da Excel.

Invia email a più destinatari da Excel con il codice VBA

Invia email a più destinatari con la cartella di lavoro corrente come allegato utilizzando il codice VBA


Invia email a più destinatari da Excel con il codice VBA

Puoi utilizzare un codice VBA per inviare un messaggio a più destinatari contemporaneamente. Procedi come segue:

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo e incolla il seguente codice nella Finestra del Modulo.

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. Successivamente, premi il tasto F5 per eseguire questo codice; apparirà una finestra di dialogo che ti chiederà di selezionare l'elenco degli indirizzi, come mostrato nello screenshot:

a screenshot of selecting the email addresses list after running the code

4. Quindi clicca su OK e si aprirà una finestra Messaggio di Outlook. Potrai vedere che tutti gli indirizzi email selezionati sono stati aggiunti nel campo A. A questo punto puoi inserire l'oggetto e comporre il tuo messaggio, come mostrato nello screenshot:

a screenshot of a created email with all selected email addresses listed in the To field

5. Dopo aver completato il messaggio, clicca sul pulsante Invia e il messaggio verrà inviato ai destinatari presenti nell'elenco del tuo foglio di lavoro.


Invia email personalizzate a più destinatari con allegati diversi:

Con la funzionalità Invia Email di Kutools per Excel, puoi inviare rapidamente email personalizzate a più destinatari con allegati diversi da Excel tramite Outlook, secondo le tue necessità. Allo stesso tempo, puoi mettere in CC o CCN i messaggi a una persona specifica. Clicca per scaricare Kutools per Excel!

a screenshot of using the Send Emails feature of Kutools to easily send personalized emails to multiple recipients with different attachments


Invia email a più destinatari con la cartella di lavoro corrente come allegato utilizzando il codice VBA

Se devi inviare un messaggio a più destinatari con la cartella di lavoro corrente come allegato, puoi applicare il seguente codice VBA.

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo e incolla il seguente codice nella Finestra del Modulo.

Codice VBA: Invia email a più destinatari con la cartella 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. Dopo aver incollato il codice, premi il tasto F5 per eseguirlo; apparirà una finestra di dialogo che ti chiederà di selezionare gli indirizzi a cui vuoi inviare il messaggio, come mostrato nello screenshot:

a screenshot of selecting the email addresses list after running the second VBA code

4. Quindi clicca su OK e si aprirà una finestra Messaggio di Outlook. Tutti gli indirizzi email saranno stati aggiunti nel campo A e anche la tua cartella di lavoro corrente sarà stata inserita come allegato. A questo punto puoi inserire l'oggetto e comporre il tuo messaggio, come mostrato nello screenshot:

a screenshot of a created email with all selected email addresses listed in the To field and the current workbook as attachment

5. Infine, clicca sul pulsante Invia per inviare questo messaggio alla lista dei destinatari con la cartella di lavoro corrente come allegato.


Articolo correlato:

Come inviare email personalizzate in massa da una lista di Excel tramite Outlook?


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 genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca 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 a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura 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 tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!