Come inviare ogni foglio a indirizzi email diversi da Excel?
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
- 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.
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:
4. Infine, clicca sul pulsante Invia per inviare ogni email una per una.
Kutools per Excel: Invia Email Personalizzate Facilmente con un Solo Clic!

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
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.





- 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