So senden Sie Massen-E-Mails aus Excel VBA mit einem Klick in Excel

Anonim

Mussten Sie jemals E-Mails von Excel VBA an mehrere E-Mail-IDs senden, die in einem Excel-Blatt bereitgestellt werden? Möchten Sie erfahren, wie Sie E-Mails aus Excel senden, ohne Outlook zu öffnen? In diesem Artikel erfahren Sie, wie Sie Outlook automatisieren und mehrere E-Mails mit Anhängen aus Excel mit einem Klick senden können, wobei die Personen auch in Cc und Bcc gehalten werden.

Am Ende können Sie die Datei auch herunterladen, um Männer sofort an Hunderte von IDs zu senden. Die Datei enthält ein Makro zum Senden von E-Mails aus Excel.

Wie versende ich E-Mails aus Excel?
Um E-Mails aus Excel zu senden, müssen Sie diese VBA-Snippets verstehen.

Wichtig: Sie müssen eine E-Mail in der Outlook-Anwendung konfiguriert haben.

Drücken Sie F11, um den VB-Editor zu öffnen.

  • Fügen Sie einen Verweis auf die Outlook-Objektbibliothek hinzu:
      • Gehen Sie im Menü zu Tools und klicken Sie auf Referenzen.

    • Suchen Sie die Microsoft 16.0-Objektbibliothek. Die Version kann unterschiedlich sein. Es ist 16.0 in Excel 2016. Aktivieren Sie es. Und klicken Sie auf OK.

    • Erstellen Sie Referenzen von Outlook-Anwendung und E-Mail: Um nun auf die Funktionen von Microsoft Outlook zugreifen zu können, müssen wir das Objekt erstellen.
Dim outApp As Outlook.Application 'Dadurch wird ein Verweis auf das Outlook-Objekt erstellt. Dim outApp As Outlook.MailItem 'Dadurch wird ein Verweis auf MailItem erstellt. 
    • Initialisieren Sie die Referenzen: Die obigen Referenzen müssen initialisiert werden:
Set outApp = Neue Outlook.Application Set outMail = outApp.CreateItem(0)
    • Senden von E-Mails mit dem outMail-Objekt: Die folgenden Zeilen definieren die Ziel-Mail-ID, cc, bcc, Betreff, Text, Anhang und Sendebefehl.
Mit outMail .To = "abcd.mail.com" 'Obligatorisch. Hier definieren Sie die Ziel-Mail-ID… cc = "cc.mail.com" 'optional. Cc-Mail-ID, wenn Sie möchten… BCC = "bcc.mail.com" 'optional. Bcc-Mail-ID, wenn Sie möchten … Betreff = subj 'sollte. Die Massage auf Mail Body… Body = msg 'optional. Die Nachricht im Nachrichtentext… Attachments.Add "C:/exceltip.com\test.xlsx" 'optional. Vollständig qualifizierter Name des Anhangs… Senden 'Erforderlich, wenn Sie E-Mails aus Excel senden möchten. Wenn Sie die E-Mail in Outlook anzeigen möchten, verwenden Sie die Methode .Display. Ende mit 

Das ist es. Es ist alles, was Sie brauchen, um E-Mails aus Excel mit VBA zu senden.

Sehen wir uns nun ein Beispiel an, das E-Mails separat an jede E-Mail-ID in einer Excel-Spalte sendet.

Szenario:
Stellen Sie sich vor, Sie erhalten ein Excel-Sheet mit 100 E-Mail-IDs und müssen an jede E-Mail-ID separat eine E-Mail senden. Nicht nur das, Sie müssen auch Gegenstände anhängen. Dies würde Stunden dauern, wenn Sie es manuell tun. Lassen Sie uns diese Mailing-Aufgabe in Excel VBA automatisieren.

Hier habe ich diese Daten. In Spalte C mit dem Titel "E-Mail senden an" befinden sich mehrere E-Mail-IDs. Ich muss eine E-Mail an jede E-Mail-ID in dieser Spalte senden.
Dafür habe ich Spalten für Betreff, Massagekörper, CC und BCC erstellt.

Die "Mail senden an" sollte keine leere Zelle dazwischen enthalten. Alle anderen Spalten können leere Zellen enthalten. Falls Sie es wollen
mehrere E-Mail-IDs in zu Schreiben Sie dann diese E-Mail-IDs mit Kommas in diese Spalte. Stellen Sie sicher, dass die E-Mail-IDs gültig sind.

Wenn Sie Anhänge senden möchten. Schreiben Sie die Adressen dieser Dateien in die Anhangsspalte.

Schreiben Sie den Betreff in die Spalte Betreff.

Massage in der Spalte Massage Body.

Wenn Sie jemanden im CC behalten möchten, schreiben Sie seine E-Mail-ID in die CC-Spalte. Gleiches für BCC. Verwenden Sie Kommas für mehrere E-Mail-IDs.

Um nun E-Mails an jede E-Mail-ID in der Spalte zu senden, führen Sie diese Schritte aus.

  • Drücken Sie Alt+F11, um den VBA-Editor in Excel zu öffnen.
  • Fügen Sie dem Outlook-Objekt einen Verweis hinzu, indem Sie die zuvor beschriebenen Schritte ausführen.
  • Kopieren Sie in einem neuen Modul den folgenden Code.
'*** Sie müssen eine Outlook-E-Mail in der Outlook-Anwendung auf Ihrem System konfiguriert haben *** '*** Verweis auf die Outlook-Objektbibliothek aus Verweisen in Tools hinzufügen *** Sub BulkMail() Application.ScreenUpdating = False ThisWorkbook.Activate ' Erstellen von Referenzen auf Anwendungs- und MailItem-Objekte von Outlook Dim outApp As Outlook.Application Dim outMail As Outlook.MailItem 'Variable erstellen, um Werte verschiedener E-Mail-Elemente aufzunehmen Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long 'Meine Daten befinden sich auf dem Blatt "Exceltip.com" Sie können einen beliebigen Blattnamen haben. ThisWorkbook.Sheets("Exceltip.com").Activate 'Letzte Zeile mit der E-Mail-ID in Spalte 3 abrufen. lstRow = Cells(Rows.Count, 3).End(xlUp).Row 'Variable zum Speichern aller E-Mail-IDs Dim rng As Range Set rng = Range("C2:C" & lstRow) 'Initialisierung des Outlook-Objekts, um auf seine Funktionen zuzugreifen. 'Schleife, um jede Zeile zu durchlaufen, E-Mail-Daten in Variablen zu speichern und 'Mail an jede E-Mail-ID zu senden. Für jede Zelle In rng sendTo = Range(cell.Address).Offset(0, 0).Value2 subj = Range(cell.Address).Offset(0, 1).Value2 & "-MS" msg = Range(cell. Adresse).Offset(0, 2).Wert2 atchmnt = Range(cell.Address).Offset(0, -1).Value2 ccTo = Range(cell.Address).Offset(0, 3).Value2 bccTo = Range( cell.Address).Offset(0, 4).Value2 On Error Resume Next 'um Fehler bei der Erstellung des folgenden Objekts zu übergeben Set outMail = outApp.CreateItem(0) 'Mail in neue Mail schreiben und senden With outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = subj .Attachments.Add atchmnt .Send 'Diese Mail ohne Benachrichtigung senden. Wenn Sie E-Mails vor dem Senden sehen möchten, verwenden Sie die .Display-Methode. End With On Error GoTo 0 'Um alle zuvor erfassten Fehler zu bereinigen Set outMail = Nothing 'Annullierung des Outmail-Objekts für die nächste E-Mail Nächste Zelle Schleife beendet die Bereinigung: 'Freigeben aller erstellten Objekte Set outApp = Nothing Application.ScreenUpdating = True Application.ScreenUpdating = True End Sub 

Der obige Code sendet E-Mails an jede E-Mail-ID in einer Zeile der Spalte "E-Mail senden an". Um diesen Code nun auszuführen, können Sie ihn direkt von hier aus ausführen. Oder Sie können Ihrer Arbeitsmappe eine Abbildung oder Schaltfläche hinzufügen und dann dieses Makro diesem Objekt zuweisen. Ich verwende Formen, weil sie anpassbar sind. Um dies zu tun, befolgen Sie die folgenden Schritte.

    • Wechseln Sie zur Registerkarte Einfügen.
    • In der Gruppe Illustration finden Sie Formen, klicken Sie auf Ihre Lieblingsform.

    • Ziehen Sie es auf Ihr Blatt und legen Sie es dort ab.
    • Verschönern Sie, wenn Sie möchten.
    • Klicken Sie mit der rechten Maustaste darauf. Klicken Sie auf Makro zuweisen.

    • Wählen Sie BulkMail-Makro aus der Liste.

  • Verlassen Sie den Bearbeitungsmodus.

Wenn Sie jetzt auf dieses Objekt klicken, wird Ihr Makro ausgeführt und sendet E-Mails. Überprüfen Sie die gesendeten E-Mails, um dies sicherzustellen.
Sie können die Excel-Mail-Senderdatei hier herunterladen.

Senden Sie Massen-E-Mails aus Excel VBA mit einem Klick

Excel-Tabelle in mehrere Dateien basierend auf Spalten mit VBA aufteilen | Um ein Arbeitsblatt basierend auf den Werten einer Spalte in mehrere Dateien aufzuteilen, müssen Sie es filtern, kopieren und in eine neue Datei einfügen.

So filtern Sie die Daten in Excel mit VBA | Das Filtern von Daten mit VBA ist einfach. Diese einfachen Codezeilen filtern die Daten nach den angegebenen Kriterien.

Deaktivieren von Warnmeldungen mit VBA in Microsoft Excel 2016 | Beim Ausführen mehrerer Aufgaben, wie dem Öffnen und Schließen von Dateien, zeigt Excel Warnmeldungen an, damit Sie keine Daten verlieren. Sie unterbrechen den laufenden Code. Um sie zu vermeiden

So durchlaufen Sie Blätter in Excel mit VBA | Um auf zwei oder mehr Blättern hin und her zu gehen, müssen wir sie durchlaufen. Um mehrere Blätter zu durchlaufen, verwenden wir…

7 Beispiele für For-Schleifen in Microsoft Excel VBA | Die for-Schleife ist die am häufigsten verwendete Schleifentechnik in jeder Sprache. Excel VBA ist keine Ausnahme.

Populäre Artikel:

50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.

So verwenden Sie die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.

So verwenden Sie die ZÄHLENWENN-Funktion in Excel | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.

So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.