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 > Moduloe 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.
- .To = "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.
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.
Kutools for Excel, con oltre 120 funzioni utili, semplifica il tuo lavoro. | ||
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 > Moduloe 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
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
- Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
- Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
- Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
- Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
- Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
- Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
- Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
- Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il 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!


























