Skip to main content

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

Come inviare ogni foglio a indirizzi email diversi da Excel?

Author Xiaoyang Last modified

Se hai una cartella di lavoro Excel con più fogli di lavoro, ognuno contenente un indirizzo email nella cella S1, potresti voler inviare ogni foglio come allegato separato al rispettivo destinatario. Questo compito può essere noioso se fatto manualmente, specialmente quando si ha a che fare con un gran numero di fogli. In questo tutorial, ti mostreremo come utilizzare il codice VBA per inviare automaticamente ogni foglio di lavoro del tuo file Excel come allegato all'indirizzo email specificato nella cella S1 di ogni foglio.


Invia ogni foglio a indirizzi email diversi da Excel con il codice VBA

Il seguente codice VBA ti permetterà di inviare ogni foglio di lavoro come allegato al destinatario corrispondente elencato nella cella S1. Segui questi passaggi:

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

2. Successivamente, clicca su Inserisci > Modulo, e copia e incolla il seguente codice VBA nella finestra.

Codice VBA: Invia ogni foglio come allegato a indirizzi email diversi

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:
  • S1 è la cella che contiene l'indirizzo email a cui vuoi inviare l'email. Se i tuoi indirizzi email sono in una cella diversa, come A1, puoi modificare il codice per riflettere tale cambiamento.
  • Puoi specificare CC, CCN, Oggetto, Corpo nel codice;
  • Per inviare l'email direttamente senza aprire la finestra del nuovo messaggio, devi cambiare .Display in .Send.

A screenshot of the VBA code window for sending each sheet from Excel to a different email address in cell S1

3. Successivamente, premi il tasto F5 per eseguire questo codice, e ogni foglio viene inserito automaticamente nella finestra del nuovo messaggio come allegato, vedi screenshot:

A screenshot of new email messages in Outlook, each with an attached Excel sheet sent to different recipients

4. Infine, clicca sul pulsante Invia per inviare ogni email una per una.


Kutools per Excel: Invia Email Personalizzate Facilmente con un Solo Clic!

Send Personalized Emails feature

Stanco di inviare email ai clienti una per una? Con la funzione “Invia Email” di Kutools per Excel, la comunicazione diventa più veloce e professionale! Basta preparare un foglio Excel con nomi, indirizzi email, codici di registrazione e inserire segnaposto—il sistema genererà automaticamente email personalizzate e ne invierà centinaia con un solo clic. Dì addio al lavoro ripetitivo!

  • 💡 I segnaposto dinamici (ad esempio, nome, codice di registrazione) compilano automaticamente contenuti personalizzati per ciascun destinatario, garantendo che ogni email sembri su misura.
  • 📎 Allega file personalizzati per una consegna accurata
  • 📤 Si integra perfettamente con Outlook per un invio sicuro e affidabile
  • 📝 Salva e riutilizza modelli di email per massimizzare l'efficienza
  • 🎨 Editor WYSIWYG facile da usare
  • 🖋 Utilizza la tua firma di Outlook—nessuna configurazione aggiuntiva, basta premere invia!
  • Ottieni Kutools per Excel Ora!

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