Skip to main content

Come inviare / spedire un intervallo di celle tramite Outlook da Excel?

Author: Xiaoyang Last Modified: 2025-05-29

Ti è mai capitato di dover affrontare il problema di aver terminato un report in un foglio di lavoro e di dover inviare un intervallo di celle contenente dati importanti a un destinatario specifico? Esistono metodi rapidi per inviare questo intervallo direttamente da Excel senza aprire Outlook?

Invia un intervallo di celle come allegato da Excel con il codice VBA

Invia un intervallo di celle come corpo del messaggio da Excel con il codice VBA


arrow blue right bubbleInvia un intervallo di celle come allegato da Excel con il codice VBA

Il seguente codice VBA può aiutarti a inviare l'intervallo selezionato come allegato in Excel. Procedi come segue:

1. Apri la tua cartella di lavoro e tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella Finestra del Modulo.

Codice VBA: invia un intervallo di celle come allegato da Excel

Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "information of kte"
    .Body = "hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Nota: Nel codice sopra, puoi modificare le seguenti informazioni secondo le tue esigenze.

  • .To = "skyyang@extendoffice.com"
  • .CC = ""
  • .BCC = ""
  • .Subject = "informazioni di kte"
  • .Body = "ciao, per favore controlla e leggi questo documento."

3. Quindi premi il tasto F5 per eseguire il codice, e apparirà una finestra di dialogo che ti chiederà di selezionare l'intervallo che desideri inviare. Vedi screenshot:

vba code to select the data range

4. Clicca su OK, e apparirà un'altra finestra di dialogo; dopo che la barra di avanzamento avrà finito, clicca su Consenti, e l'intervallo specifico di celle verrà inviato al tuo destinatario come allegato.

click Allow to send the selected range as attachment

a screenshot of kutools for excel ai

Sblocca la Magia di Excel con Kutools AI

  • Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
  • Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
  • Interpretazione delle Formule: Comprendi facilmente formule complesse.
  • Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

arrow blue right bubbleInvia un intervallo di celle come corpo del messaggio da Excel con il codice VBA

Se vuoi inviare un intervallo specifico come parte del corpo del messaggio da Excel, puoi anche applicare il seguente codice VBA per risolvere il problema.

1. Attiva il tuo foglio di lavoro e tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella Finestra del Modulo.

Codice VBA: invia un intervallo di celle come corpo del messaggio da Excel

Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = "Please read this email."
    .Item.To = "skyyang@extendoffice.com"
    .Item.Subject = "information of kte"
    .Item.Send
End With
Application.ScreenUpdating = True
End Sub

Nota: Nel codice sopra, puoi modificare le seguenti informazioni secondo le tue esigenze.

  • .Introduction = "Per favore leggi questa email."
  • .Item.To = "skyyang@extendoffice.com"
  • .Item.Subject = "informazioni di kte"

3. Quindi premi il tasto F5 per eseguire il codice, e apparirà una finestra di dialogo che ti chiederà di selezionare l'intervallo che desideri inviare.

vba code to select the data range

4. Clicca su OK, e apparirà un'altra finestra di dialogo; dopo che la barra di avanzamento avrà finito, clicca su Consenti, e l'intervallo specifico di celle verrà inviato al tuo destinatario come corpo del messaggio.

click Allow to send the selected range as email body

Note:

1. Questi codici sono disponibili solo quando Outlook è impostato come programma di posta.

2. Dopo aver inviato il foglio di lavoro corrente, puoi andare su Outlook per verificare se l'email è stata inviata correttamente.


Articoli correlati:

Come inviare solo un foglio di lavoro tramite Outlook da Excel?

Come inviare la cartella di lavoro corrente tramite Outlook da Excel?

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 Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con 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...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età 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 di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

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!