Note: The other languages of the website are Google-translated. Back to English

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


Pfeil blau rechte BlaseSenden 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 = "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

Hinweis: Im obigen Code können Sie die folgenden Informationen nach Ihren Wünschen ändern.

  • .To = "skyyang @extendoffice.com "
  • .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:

doc-sendebereich1

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.

doc-sendebereich2


Pfeil blau rechte BlaseSenden 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 = "skyyang@extendoffice.com"
    .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 = "skyyang @extendoffice.com "
  • .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.

doc-sendebereich1

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.

doc-sendebereich2

Hinweise:

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?


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

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!
officetab unten
Kommentare (26)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich verwende den Marco, der die für die E-Mail erforderlichen Zellen auswählt. Ich habe dies mit einem anderen Makro kombiniert, damit ich es dazu bekomme, eine "neue E-Mail" zu öffnen. Mein Problem ist jetzt, dass wenn Sie viele Informationen in eine Zelle einfügen, nur die Iformaiton benötigt wird, dass Sie nicht alle Informationen in dieser Zelle anzeigen irgendwelche Ideen ?? vielen Dank für Ihre Hilfe bei diesem Jubel
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, alle miteinander
Ich habe ein Projekt, um einen Bereich in Blatt 1 auszuwählen, der nacheinander per E-Mail an viele E-Mail-Adressen gesendet werden soll, die in Blatt 2 in Spalte A geschrieben sind, und wenn Spalte B leer ist, mit einem bestimmten Betreff und nach dem Senden schreibt er in Blatt 2, Spalte b, gesendet
Und eine Wartezeit von 10 Sekunden, um die nächste E-Mail als Zustand des Servers zu senden
Jemand hilft mir bitte?   
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, können Sie mir bitte mitteilen, wie ich dieser Mail für das zweite Programm eine Signatur und eine zweite Einführungszeile hinzufügen kann. Danke im Voraus.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
schön und nützlich, gute Arbeit !!!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sehr hilfreich. Danke . Ich habe eine Liste mit E-Mail-Adressen auf demselben Blatt. Wenn ich auf eine E-Mail-Adresse geklickt habe, wird der ausgewählte Zellbereich als Anhang an diese E-Mail gesendet. Kann mir bitte dabei helfen?Vielen Dank.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, sehr schön erklärt. Anstatt eine neue Arbeitsmappe zu senden, können wir nur den ausgewählten Bereich kopieren und in den E-Mail-Text einfügen und senden. Ich möchte den ausgewählten Bereich nicht als Bild senden. Ich möchte wie eine Tabellenansicht im Text der E-Mail senden. Können wir das tun??
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke, das ist sehr nützlich, aber was ist, wenn ich vor dem Senden eine Beschreibung in den E-Mail-Text einfügen muss? Bitte schlagen Sie den Code vor.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,
Alles sieht gut aus, gibt aber nicht den ausgewählten Bereich an. Können Sie das bitte vorschlagen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank, ich suche diese Lösung so lange.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Exzellente Arbeit. Es wäre besser, wenn dies automatisch gesendet wird. Was soll ich tun, damit keine Fehlermeldung angezeigt wird, bevor das Senden fortgesetzt wird?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
könnten wir so viele E-Mail-Adressen angeben, an die wir senden können?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, Carey, alle oben genannten VBAs können viele E-Mail-Adressen (An, BCC, CC) hinzufügen, an die gesendet werden soll, indem Sie ; als Trennzeichen. Zum Beispiel .To = "skyyang@extendoffice.com; test1@extendoffice.com; test2@extendoffice.com "
Dieser Kommentar wurde vom Moderator auf der Website minimiert
ich möchte das beeinträchtigte nicht als Datei in eine E-Mail einfügen, sondern per copy and paste in die E-Mail einfügen. Wie geht das in dem VBA-Code?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich habe eine Tabelle eingerichtet, die die Mitarbeiter ausfüllen sollen, und dann eine Befehlsschaltfläche, die dann automatisch eine E-Mail generiert. Ich möchte jedoch, dass die Daten aus der Tabelle im E-Mail-Text enthalten sind. Gibt es dafür einen Code? 
Vielen Dank. 
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, alle miteinander
Ich habe ein Projekt, um einen Bereich in Blatt 1 auszuwählen, der nacheinander per E-Mail an viele E-Mail-Adressen gesendet werden soll, die in Blatt 2 in Spalte A geschrieben sind, und wenn Spalte B leer ist, mit einem bestimmten Betreff und nach dem Senden schreibt er in Blatt 2, Spalte b, gesendet
Und eine Wartezeit von 10 Sekunden, um die nächste E-Mail als Zustand des Servers zu senden
Jemand hilft mir bitte?   
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, alle miteinander
Ich habe ein Projekt, um einen Bereich in Blatt 1 auszuwählen, der nacheinander per E-Mail an viele E-Mail-Adressen gesendet werden soll, die in Blatt 2 in Spalte A geschrieben sind, und wenn Spalte B leer ist, mit einem bestimmten Betreff und nach dem Senden schreibt er in Blatt 2, Spalte b, gesendet
Und eine Wartezeit von 10 Sekunden, um die nächste E-Mail als Zustand des Servers zu senden
Jemand hilft mir bitte?   
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, hriad, "wenn Spalte B leer ist mit einem bestimmten Betreff und nach dem Absenden schreibt er in Blatt 2 Spalte b abgeschickt
Und 10 Sekunden warten, um die nächste E-Mail als Zustand des Servers zu senden. "Ich verstehe das nicht. Bitte teilen Sie mir Ihre Anforderung erneut mit.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Sunny
Zunächst einmal vielen Dank für Ihre Hilfe. Da der Server eine Bedingung gestellt hat, nicht viele E-Mails in derselben Sekunde zu senden, möchte ich 10 Sekunden warten, nachdem ich die erste E-Mail und die folgende gesendet habe.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, hriad, bitte versuchen Sie den folgenden Code. Nachdem Sie ihn ausgeführt haben, wird ein Dialogfeld zum Auswählen eines Bereichs angezeigt, den Sie senden möchten. Anschließend wird er an Adressen in Blatt 2, Spalte A und mit den Betreffs in Spalte B gesendet. Alle 10 Sekunden , an eine Adresse senden. Sie können den Code „Bitte lesen Sie diese E-Mail“ nach Bedarf ändern.
Sub SendEmailRange()

'UpdateByExtendoffice20220414

Dim WorkRng As Range

Dim xSU, EV Als boolescher Wert

Dim xWSh als Arbeitsblatt

Dim xCount als ganze Zahl

Dim xI als ganze Zahl

On Error Resume Next

xTitleId = "KutoolsforExcel"

'Wählen Sie einen Bereich aus, der früher als Text gesendet wurde

Set WorkRng = Application.InputBox("Range", xTitleId, Application.Selection.Address, , , , , 8)

Wenn WorkRng nichts ist, dann beenden Sie Sub
WorkRng.Activate
WorkRng.Select

Setzen Sie xWSh = ActiveWorkbook.Worksheets("Sheet2") 'das Blatt, das Adressen und Themen enthält

xCount = xWSh.UsedRange.Rows.Count

xSU = Application.ScreenUpdating

EV = ActiveWorkbook.EnvelopeVisible

Application.ScreenUpdating = False


Für xI = 1 bis xCount

If (xWSh.Range("A" & xI) = "") Then
Exit für
End If
ActiveWorkbook.EnvelopeVisible = True
Mit ActiveSheet.MailEnvelope
.Introduction = "Bitte lesen Sie diese E-Mail."

.Item.To = xWSh.Range("A" & xI)

.Item.Subject = xWSh.Range("B" & xI)

.Artikel.Senden
Ende mit
Wenn (xI = xCount) Dann

Exit für

End If

Anwendung.Jetzt warten + ZeitWert("0:00:10")

Weiter


Application.ScreenUpdating = xSU

ActiveWorkbook.EnvelopeVisible = EV

End Sub

Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Sunny
Vielen, vielen Dank für Ihre Mühe.... Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Können wir Bereiche festlegen? im Makro selbst
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Mam plik z 6 arkuszami. Każdy z arkuszy 2-6 musi zostać wysłany do innej grupy odbiorców jako załącznik excela. Czy da się to podpiąć pod 5 przycisków?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo pawerl
Um Ihr Problem zu lösen, kann Ihnen der folgende Artikel helfen, bitte überprüfen Sie ihn:

https://www.extendoffice.com/documents/excel/7178-send-each-sheet-to-different-email.html

Vielen Dank!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke dafür! Ich werde es gleich testen wenn ich aus dem Urlaub zurück bin. Habe noch eine Frage. Haben Sie ein Problem mit dem Ausführen von VBA-Codes mithilfe der Activex-Schaltfläche (überhaupt keine Aktion), selbst wenn der Code im Bearbeitungsmodus einwandfrei funktioniert oder wenn er mit Strg + ausgewählter Schaltfläche auf der Tastatur ausgeführt wird. Ich fange gerade mit der VBA-Reise an und habe keine
ahnung was ich falsch mache :/
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo pawerl
Sie müssen nur den Code kopieren und in die einfügen Microsoft Visual Basic für Applikationen Fenster, und klicken Sie dann auf Run Schaltfläche aus der Symbolleiste wie im folgenden Screenshot gezeigt: (Hinweis: im Code, S1 ist die Zelle, die die E-Mail-Adresse enthält, an die Sie die E-Mail senden möchten. Bitte ändern Sie sie nach Bedarf.)

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-emails.png

Bitte versuche es erneut!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Ich habe alles wie oben gemacht und das Ergebnis ist: alles funktioniert perfekt bis auf den Knopf :) Kümmern Sie sich im Moment nicht wirklich darum :)

Riesen Danke!!! Thema geschlossen :)
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL