Wie kann ich eine Reihe von Zellen über Outlook aus Excel senden / per E-Mail versenden?
Haben Sie jemals unter einem Problem gelitten, das Sie nach Abschluss eines Berichts in einem Arbeitsblatt an eine Reihe von Zellen in diesem Arbeitsblatt senden müssen, die einige wichtige Daten an Ihren spezifischen Empfänger enthalten? Gibt es eine schnelle Möglichkeit, diesen Bereich aus Excel per E-Mail zu versenden, ohne Outlook zu öffnen?
Senden Sie einen Zellbereich als Anhang aus Excel mit VBA-Code
Senden Sie einen Zellbereich als Text aus Excel mit VBA-Code
Senden Sie einen Zellbereich als Anhang aus Excel mit VBA-Code
Der folgende VBA-Code kann Ihnen helfen, Ihren ausgewählten Bereich als Anhang in Excel zu senden. Bitte machen Sie Folgendes:
1. Öffnen Sie Ihre Arbeitsmappe und halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen-Fenster.
2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modulfenster.
VBA-Code: Zellenbereich als Anhang aus Excel senden
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 = ""
.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: Im obigen Code können Sie die folgenden Informationen nach Ihren Wünschen ändern.
- .An = ""
- .CC = ""
- .BCC = ""
- .Subject = "Information von kte"
- .Body = "Hallo, bitte überprüfen und lesen Sie dieses Dokument."
3. Dann klick F5 Wenn Sie die Taste drücken, um diesen Code auszuführen, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, einen Bereich auszuwählen, den Sie senden möchten. Siehe Screenshot:
4. Dann klick OKNach Abschluss des Fortschrittsbalkens wird ein Eingabeaufforderungsfeld angezeigt. Klicken Sie auf Erlaubenund dann wurde der spezifische Zellbereich als Anhang an Ihren Empfänger gesendet.
Senden Sie einen Zellbereich als Text aus Excel mit VBA-Code
Wenn Sie einen bestimmten Bereich als Teil des Nachrichtentexts aus Excel senden möchten, können Sie auch den folgenden VBA-Code anwenden, um ihn zu lösen.
Kutools for Excel, mit mehr als 120 praktische Funktionen, erleichtert Ihre Arbeit. | ||
1. Aktivieren Sie Ihr Arbeitsblatt und halten Sie die gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen-Fenster.
2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modulfenster.
VBA-Code: Zellbereich als Text aus Excel senden
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 = ""
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
Hinweis: Im obigen Code können Sie die folgenden Informationen an Ihre Bedürfnisse anpassen.
- .Introduction = "Bitte lesen Sie diese E-Mail."
- .Item.To = ""
- .Item.Subject = "Information von kte"
3. Dann klick F5 Wenn Sie die Taste drücken, um diesen Code auszuführen, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, einen Bereich auszuwählen, den Sie senden möchten.
4. Dann klick OKNach Abschluss des Fortschrittsbalkens wird ein Eingabeaufforderungsfeld angezeigt. Klicken Sie auf Erlaubenund dann wurde der spezifische Zellbereich als Nachrichtentext an Ihren Empfänger gesendet.
Anmerkungen:
1. Diese Codes sind nur verfügbar, wenn Outlook Ihr E-Mail-Programm ist.
2. Nach dem Senden des aktuellen Arbeitsblatts können Sie in Outlook überprüfen, ob die E-Mail erfolgreich gesendet wurde.
In Verbindung stehende Artikel:
Wie kann ich ein Arbeitsblatt nur über Outlook aus Excel senden?
Wie sende ich eine aktuelle Arbeitsmappe über Outlook aus Excel?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!