KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come inviare ogni foglio di lavoro a indirizzi email diversi da Excel?

AutoreXiaoyang Data di modifica

Se la tua cartella di lavoro Excel contiene più fogli, ognuno con un indirizzo email nella cella S1, potresti aver bisogno di inviare ogni foglio come allegato separato al relativo destinatario. Farlo manualmente può diventare noioso e dispendioso in termini di tempo, soprattutto quando i fogli sono numerosi. In questa guida ti mostreremo come automatizzare l’invio di ogni foglio come allegato all’indirizzo email presente nella cella S1 del foglio stesso, utilizzando una semplice macro VBA.


Invia ogni foglio a diversi Indirizzo Email da Excel con il codice VBA

Il seguente codice VBA ti consente di inviare ogni foglio di lavoro come allegato al destinatario indicato nella cella S1. Segui questi passaggi:

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

2. Quindi fai clic su Inserisci > Modulo e copia e incolla il codice VBA riportato di seguito nella finestra.

Codice VBA: Invia ogni foglio come allegato a diversi Indirizzo Email

Sub Mail_Every_Worksheet()
'Updateby ExtendOffice
  Dim xWs As Worksheet
  Dim xWb As Workbook
  Dim xFileExt As String
  Dim xFileFormatNum As Long
  Dim xTempFilePath As String
  Dim xFileName As String
  Dim xOlApp As Object
  Dim xMailObj As Object
  On Error Resume Next
  With Application
      .ScreenUpdating = False
      .EnableEvents = False
  End With
  xTempFilePath = Environ$("temp") & "\"
  If Val(Application.Version) < 12 Then
    xFileExt = ".xls": xFileFormatNum = -4143
  Else
    xFileExt = ".xlsm": xFileFormatNum = 52
  End If
  Set xOlApp = CreateObject("Outlook.Application")
  For Each xWs In ThisWorkbook.Worksheets
    If xWs.Range("S1").Value Like "?*@?*.?*" Then
      xWs.Copy
      Set xWb = ActiveWorkbook
      xFileName = xWs.Name & " of " _
                   & VBA.Left(ThisWorkbook.Name, VBA.InStr(ThisWorkbook.Name, ".") - 1) & " "
      Set xMailObj = xOlApp.CreateItem(0)
      xWb.Sheets.Item(1).Range("S1").Value = ""
      With xWb
        .SaveAs xTempFilePath & xFileName & xFileExt, FileFormat:=xFileFormatNum
        With xMailObj
        'specify the CC, BCC, Subject, Body below
            .To = xWs.Range("S1").Value
            .CC = ""
            .BCC = ""
            .Subject = "This is the Subject line"
            .Body = "Hi there"
            .Attachments.Add xWb.FullName
            .Display
        End With
        .Close SaveChanges:=False
      End With
      Set xMailObj = Nothing
      Kill xTempFilePath & xFileName & xFileExt
    End If
  Next
  Set xOlApp = Nothing
  With Application
      .ScreenUpdating = True
      .EnableEvents = True
  End With
End Sub
Nota: Nel codice sopra riportato:
  • S1 è la cella che contiene l'indirizzo email a cui desideri inviare il messaggio. Se i tuoi indirizzi email si trovano in un'altra cella, ad esempio A1, puoi modificare il codice di conseguenza.
  • Puoi specificare CC, Ccn, Oggetto e Corpo del messaggio direttamente nel codice;
  • Per inviare l'email direttamente senza aprire la finestra del nuovo messaggio, sostituisci .Displaycon .Send.

Uno screenshot della finestra del codice VBA per inviare ogni foglio di Excel a un indirizzo email diverso presente nella cella S1

3. Premi quindi il tasto F5 per eseguire questo codice: ogni foglio verrà inserito automaticamente nella finestra del nuovo messaggio come allegato. Vedi screenshot:

Uno screenshot di nuovi messaggi email in Outlook, ciascuno con un foglio Excel allegato inviato a destinatari diversi

4. Infine, fai clic sul pulsante Invia per inviare ciascuna email una alla volta.


Kutools per Excel: Invia email personalizzate con un solo clic!

Funzione Invia email personalizzate

Stanco di inviare email ai clienti una per una? Con la funzione «Invia email» di Kutools per Excel, la comunicazione diventa più rapida e professionale! Basta preparare un foglio Excel con nomi, indirizzi email, codici di registrazione e segnaposto: il sistema genererà automaticamente email personalizzate e ne invierà centinaia con un solo clic. Niente più lavoro ripetitivo!

  • 💡 I segnaposto dinamici (ad esempio nome, codice di registrazione) popolano automaticamente contenuti personalizzati per ogni destinatario, assicurando che ogni email sia unica e su misura.
  • 📎 Allega file personalizzati per una consegna precisa
  • 📤 Si integra perfettamente con Outlook per un invio sicuro e affidabile
  • 📝 Salva e riutilizza modelli di email per la massima efficienza
  • 🎨 Editor WYSIWYG (What-you-see-is-what-you-get), facile da usare
  • Utilizza la tua firma di Outlook: nessuna configurazione aggiuntiva richiesta, basta cliccare su Invia!
  • Ottieni Kutools per Excel ora!

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

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.

ExcelWordOutlookTabsPowerPoint
  • 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