Come inviare / inviare per e-mail un intervallo di celle tramite Outlook da Excel?
Hai mai sofferto di un problema dopo aver terminato un rapporto in un foglio di lavoro e devi inviare a un intervallo di celle in questo foglio di lavoro che contengono alcuni dati importanti per il tuo destinatario specifico. Esistono modi rapidi per inviare tramite posta elettronica questo intervallo da Excel senza aprire Outlook?
Invia intervallo di celle come allegato da Excel con codice VBA
Invia intervallo di celle come corpo da Excel con codice VBA
Invia intervallo di celle come allegato da Excel con codice VBA
Il seguente codice VBA può aiutarti a inviare l'intervallo selezionato come allegato in Excel. Per favore, fai come segue:
1. Apri la cartella di lavoro e quindi tieni premuto il pulsante ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.
2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.
Codice VBA: invia 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
Note:: Nel codice sopra, puoi modificare le seguenti informazioni in base alle tue esigenze.
- .A = "skyyang@extendoffice.com"
- .CC = ""
- .BCC = ""
- .Subject = "informazioni su kte"
- .Body = "ciao, controlla e leggi questo documento."
3. Quindi fare clic F5 chiave per eseguire questo codice e verrà visualizzata una finestra di messaggio per ricordarti di selezionare un intervallo che desideri inviare. Vedi screenshot:
4. Quindi fare clic OKe verrà visualizzata una finestra di messaggio, al termine della barra di avanzamento, fare clic su Consentiree quindi l'intervallo specifico di celle è stato inviato al destinatario come allegato.

Sblocca Excel Magic con Kutools AI
- Esecuzione intelligente: esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto gestito da semplici comandi.
- Formule personalizzate: genera formule personalizzate per semplificare i flussi di lavoro.
- Codifica VBA: Scrivi e implementa il codice VBA senza sforzo.
- Interpretazione della formula: Comprendere formule complesse con facilità.
- Traduzione di testi: abbatti le barriere linguistiche nei tuoi fogli di calcolo.
Invia intervallo di celle come corpo da Excel con codice VBA
Se desideri inviare un intervallo specifico come parte del corpo del messaggio da Excel, puoi anche applicare il seguente codice VBA per risolverlo.
1. Attiva il foglio di lavoro e tieni premuto il tasto ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.
2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.
Codice VBA: invia intervallo di celle come corpo 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 in base alle tue necessità.
- .Introduction = "Leggi questa email."
- .Item.To = "skyyang@extendoffice.com"
- .Item.Subject = "informazioni su kte"
3. Quindi fare clic F5 tasto per eseguire questo codice e verrà visualizzata una finestra di messaggio per ricordarti di selezionare un intervallo che desideri inviare.
4. Quindi fare clic su OKe verrà visualizzata una finestra di messaggio, al termine della barra di avanzamento, fare clic su Consentiree quindi l'intervallo specifico di celle è stato inviato al destinatario come corpo del messaggio.
Note:
1. Questi codici sono disponibili solo quando si utilizza Outlook come programma di posta.
2. Dopo aver inviato il foglio di lavoro corrente, puoi andare su Outlook per assicurarti che l'e-mail sia stata inviata correttamente.
Articoli correlati:
Come inviare un foglio di lavoro solo tramite Outlook da Excel?
Come inviare la cartella di lavoro corrente tramite Outlook da Excel?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- 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, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!