Come inviare un'email da un intervallo specificato di celle in Excel?
In molti casi, un intervallo specificato di contenuti nel foglio di lavoro di Excel può essere utile per la tua comunicazione via email. In questo articolo, introdurremo un metodo per inviare un'email con un intervallo specificato direttamente nel corpo dell'email in Excel.
Invia email da un intervallo specificato di celle in Excel
Invia email da un intervallo specificato di celle con uno strumento incredibile
Altri tutorial per l'invio di email in Excel...
Invia email da un intervallo specificato di celle in Excel
Il seguente codice VBA può aiutarti a copiare un intervallo e incollarlo direttamente nel corpo di un'email di Outlook in Excel. Procedi come segue.
1. Nel foglio di lavoro che contiene l'intervallo che devi copiare, premi contemporaneamente i tasti "Alt + F11" per aprire la finestra "Microsoft Visual Basic for Applications".
2. Nella finestra "Microsoft Visual Basic for Applications" che si apre, fai clic su "Strumenti" > "Riferimenti" come mostrato nello screenshot sottostante.
3. Nella finestra di dialogo "Riferimenti – VBAProject", trova e seleziona l'opzione "Microsoft Outlook Object Library", quindi fai clic sul pulsante OK.
4. Fai clic su "Inserisci" > "Modulo", poi copia e incolla il seguente codice VBA nella finestra del Modulo.
Codice VBA: Invia email con un intervallo specificato in Excel
Sub Send_Email()
'Updated by Extendoffice 20200119
Dim xRg As Range
Dim I, J As Long
Dim xAddress As String
Dim xEmailBody As String
Dim xMailOut As Outlook.MailItem
Dim xOutApp As Outlook.Application
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
For I = 1 To xRg.Rows.Count
For J = 1 To xRg.Columns.Count
xEmailBody = xEmailBody & " " & xRg.Cells(I, J).value
Next
xEmailBody = xEmailBody & vbNewLine
Next
xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
With xMailOut
.Subject = "Test"
.To = "happy.xuebi@163.com"
.Body = xEmailBody
.Display
'.Send
End With
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
Note:
- 1). Modifica il corpo dell'email in questa riga dello script
xEmailBody = "Ciao" & vbLf & vbLf & "corpo del messaggio che vuoi aggiungere" & vbLf & vbLf & xEmailBody & vbNewLine secondo le tue esigenze. - 2). Specifica il destinatario e l'oggetto dell'email in questa riga all'interno del codice:
(.To = happy.xuebi@163.com and .Subject = "test").
5. Premi il tasto F5 per eseguire il codice. Nella finestra di dialogo Kutools per Excel che appare, seleziona l'intervallo che desideri incollare nel corpo dell'email, quindi fai clic sul pulsante OK. Vedi screenshot:
6. Ora è stata creata un'email con il destinatario specificato, oggetto, corpo e intervallo Excel selezionato; fai clic sul pulsante "Invia" per inviare questa email. Vedi lo screenshot mostrato.
Nota: Il codice VBA funziona solo quando utilizzi Outlook come programma di posta elettronica.
Invia email da un intervallo specificato di celle con uno strumento incredibile
Se non utilizzi Outlook e vuoi comunque inviare email direttamente in Excel con un intervallo di dati specificato all'interno, ti consiglio vivamente la funzione "Invia Email" di Kutools per Excel. Con questa funzione, devi solo configurare il server in uscita di un indirizzo email e in futuro potrai inviare email direttamente in Excel tramite questo indirizzo.
1. Prima di tutto, devi preparare una lista di distribuzione con i campi necessari.
- Suggerimenti: La lista di distribuzione deve contenere almeno 2 righe e la prima riga deve essere l'intestazione (supponendo di voler inviare email a due indirizzi email in Excel, inserisci questi due indirizzi email con l'intestazione “Email” come mostrato nello screenshot sottostante).
- In alternativa, puoi creare facilmente una lista di distribuzione con la funzione Crea elenco di invio.
2. Seleziona l'intervallo che desideri aggiungere al corpo dell'email e premi i tasti Ctrl + C per copiarlo.
3. Seleziona l'intera lista di distribuzione (inclusi gli header), fai clic su "Kutools Plus" > "Invia Email". Vedi screenshot:
4. Si aprirà la finestra di dialogo "Invia Email".
- 4.1) Gli elementi della lista di distribuzione selezionata vengono popolati nei campi corrispondenti (puoi aggiungere più campi alla lista di distribuzione secondo necessità);
- 4.2) Fai clic sulla casella del corpo dell'email, premi i tasti Ctrl + V per incollare i dati dell'intervallo selezionato. Dopodiché, aggiungi altro contenuto secondo necessità;
- 4.3) Deseleziona la casella "Invia email utilizzando Outlook";
- 4.4) Fai clic sul pulsante "Impostazioni SMTP". Vedi screenshot:
5. Si aprirà la finestra di dialogo "Impostazioni SMTP – Nuovo schema". Compila l'indirizzo email con le relative impostazioni del server, specifica una cartella in cui salvare tutte le email inviate dopo aver selezionato la casella "Salva email inviate in", quindi fai clic sul pulsante OK per salvare le impostazioni.
6. Quando tornerai alla finestra di dialogo "Invia Email", fai clic sul pulsante "Invia" per inviare l'email.
Kutools per Excel - Ricco di oltre 300 strumenti essenziali per Excel. Goditi funzionalità AI permanentemente gratuite! Scarica ora!
Articoli correlati:
Invia email agli indirizzi email specificati nelle celle di Excel
Supponiamo di avere un elenco di indirizzi email e di voler inviare un messaggio email a questi indirizzi in blocco direttamente in Excel. Come fare? Questo articolo ti mostrerà metodi per inviare email a più indirizzi email specificati nelle celle di Excel.
Inserisci la firma di Outlook durante l'invio di email in Excel
Supponiamo di voler inviare un'email direttamente in Excel, come puoi aggiungere la firma predefinita di Outlook in questa email? Questo articolo fornisce due metodi per aiutarti ad aggiungere la firma di Outlook durante l'invio di email in Excel.
Invia email con più allegati in Excel
Questo articolo parla dell'invio di un'email tramite Outlook con più allegati in Excel.
Invia email se la data di scadenza è stata raggiunta in Excel
Ad esempio, se la data di scadenza nella colonna C è minore o uguale a 7 giorni (la data corrente è 13/9/2017), invia un promemoria email al destinatario specificato nella colonna A con il contenuto specificato nella colonna B. Come fare? Questo articolo fornirà un metodo VBA per gestire la questione nei dettagli.
Invia automaticamente email in base al valore della cella in Excel
Supponiamo di voler inviare un'email tramite Outlook a un certo destinatario in base al valore di una cella specificata in Excel. Ad esempio, quando il valore della cella D7 in un foglio di lavoro è maggiore di 200, viene creata automaticamente un'email. Questo articolo introduce un metodo VBA per risolvere rapidamente questo problema.
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 risparmiare tempo. Clicca qui per ottenere la funzione 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 della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!