Quindi, per chi ci legge, la risposta alla domanda "il file che vai a salvare ha delle macro?" era "No, quindi ho modificato il nome file in .xlsx"
Vedo che vuoi inviare l'email a una ventina di destinatari, piu' un'altra ventina in Copia.
Allora aggiungiamo in coda all'attuale codice un pezzo dedicato a complilare le stringhe dei destinatari in base ai lunghi elenchi presenti su foglio ELENCO:
- Codice: Seleziona tutto
Function All_Adr(ByRef CollAdd As Range) As String
Dim oCell As Range, eAdr
'
For Each oCell In CollAdd
If oCell <> "" Then
eAdr = eAdr & "; " & oCell
Else
Exit For
End If
Next oCell
All_Adr = Mid(eAdr, 3)
End Function
Poi modifichiamo la parte della macro che crea l'email:
- Codice: Seleziona tutto
'Creazione mail:
Set OutApp = CreateObject("Outlook.Application")
''EmailAddr = "tav@dominio.com" '<<< INDIRIZZO EMAIL
Subj = "SIM Buitoni" '<<< OGGETTO DELLA MAIL
Set OutMail = OutApp.CreateItem(0)
With OutMail
.body = "Buongiorno a tutti," & Chr(10) & _
Chr(10) & "di seguito il Supply Issue Monitor di oggi."
'' Sheets("Elenco").Select
'' EmailAddr = Range("A1:A999").Value
'' CopyCC = Range("B1;B99").Value
.to = All_Adr(Sheets("Elenco").Range("A1:A200"))
.CC = All_Adr(Sheets("Elenco").Range("B1:B200"))
.Subject = Subj
.Attachments.Add Environ("Temp") & "\FileAllegato.xlsx"
.display 'or use .send
End With
Le istruzioni che cominciano con "doppio apostrofo" sono logicamente eliminate (possono essere eliminate anche fisicamente, le ho lasciate per consentirti di capire le modifiche apportate).
Ciao