Come inviare ogni foglio di lavoro a indirizzi email diversi da Excel?
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
- 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.

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

4. Infine, fai clic sul pulsante Invia per inviare ciascuna email una alla volta.
Kutools per Excel: Invia email personalizzate 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ù 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
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