Inhaltsverzeichnis
In diesem Tutorial wird gezeigt, wie man mit einem Excel-Makro automatisch eine E-Mail versenden kann. VBA Makros, also die Verwendung des VBA Makro können wir eine E-Mail an mehrere Benutzer gleichzeitig senden. Wir müssen über Ausblick auf unserem Gerät installiert, um E-Mails automatisch mit einem Makro zu versenden. Da der Code, den wir einfügen werden, Ausblick um den Empfängern E-Mails zu senden.
Download Arbeitsbuch Praxis
Sie können das Übungsheft hier herunterladen.
Automatisch E-Mail senden.xlsm3 geeignete Beispiele für Excel-Makros zum automatischen Senden von E-Mails
In diesem Artikel werden wir Folgendes demonstrieren 3 Geeignete Beispiele für die Verwendung von Excel-Makros, um eine E-Mail automatisch an die Empfänger zu senden. Bevor wir mit der Veranschaulichung des Beispiels beginnen, müssen wir eine Sache in unserem Excel-Blatt korrigieren. Führen Sie die folgenden Schritte aus, bevor Sie das Makro zum automatischen Senden von E-Mails anwenden.
SCHRITTE:
- Gehen Sie zunächst von Ihrem Datensatz aus zu die Registerkarte Entwickler Wählen Sie die Option Visual Basic .
- Gehen Sie dann zum Werkzeug und wählen Sie die Option Referenzen .
- Ein neues Dialogfeld mit der Bezeichnung ' Referenzen - VBAProject ' wird geöffnet.
- Aktivieren Sie schließlich die Option ' Microsoft Office 16.0 Objekt-Bibliothek ' und klicken Sie auf OK .
1 Excel VBA-Makro anwenden, um automatisch eine E-Mail basierend auf einem Zellwert zu senden
Zuallererst werden wir die Excel VBA Makro, um automatisch eine E-Mail zu senden, die auf einem bestimmten Zellwert in unserem Datensatz basiert. Zur Veranschaulichung dieses Beispiels verwenden wir den folgenden Datensatz. Wir werden einen Code schreiben, der automatisch eine E-Mail sendet, wenn der Zellwert in Zelle D6 größer ist als 400 .
Schauen wir uns die Schritte zur Durchführung dieser Aktion an.
SCHRITTE:
- Für den Anfang, rechts - anklicken. auf dem Blatt ' Basierend auf Zelle '.
- Wählen Sie außerdem die Option ' Code anzeigen '.
- Die obige Aktion öffnet ein leeres VBA Eine andere Möglichkeit, das Code-Fenster für dieses Arbeitsblatt zu öffnen, besteht darin, die Taste Alt + F11 .
- Geben Sie außerdem den folgenden Code in das Codefenster ein:
Dim rg As Range Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Cells.Count> 1 Then Exit Sub Set rg = Intersect(Range("D6"), Target) If rg Is Nothing Then Exit Sub If IsNumeric(Target.Value) And Target.Value> 400 Then Call send_mail_outlook End If End Sub Sub send_mail_outlook() Dim z As Object Dim y As Object Dim b As String Set z =CreateObject("Outlook.Application") Set y = z.CreateItem(0) b = "Hello!" & vbNewLine & vbNewLine & _ "Hope you are well" & vbNewLine & _ "Visit our site Exceldemy" On Error Resume Next With y .To = "Address" .cc = "" .BCC = "" .Subject = "send mail based on cell value" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub
- Klicken Sie dann auf die Schaltfläche ausführen. Taste oder drücken Sie die F5 Taste, um den Code auszuführen.
- Ein neues Dialogfeld namens Makros erscheinen wird.
- Danach, in der Makro Name wählen Sie das Makro ' send_mail_outlook '.
- Klicken Sie nun auf das ausführen. Taste.
- Schließlich, von nun an, wenn der Zellwert in Zelle D6> 400 eine E-Mail in Ausblick werden automatisch mit bestimmten Empfängern generiert. Wir müssen nur auf die Schaltfläche Senden Sie um die E-Mail zu senden.
Lesen Sie mehr: Automatisches Senden von E-Mails aus Excel auf der Grundlage von Zellinhalten (2 Methoden)
2. automatisches Versenden von E-Mails nach Fälligkeitsdatum mit VBA-Makro
Bei der zweiten Methode verwenden wir die Excel VBA Makro, um automatisch eine E-Mail zu senden, wenn das Fälligkeitsdatum eines Projekts näher rückt. Dies ist so etwas wie eine Erinnerung. Wir verwenden den folgenden Datensatz, um dieses Beispiel zu illustrieren. Der Datensatz enthält E-Mails verschiedener Verkäufer, Nachrichten und das Fälligkeitsdatum ihres Projekts.
Befolgen Sie die nachstehenden Schritte, um diese Methode durchzuführen.
SCHRITTE:
- Klicken Sie zunächst mit der rechten Maustaste auf das Blatt Datum .
- Wählen Sie dann die Option ' Code anzeigen '.
- Es öffnet sich ein leeres VBA Codefenster für das aktive Arbeitsblatt. Wir können auch auf Alt + F11 um dieses Code-Fenster zu erhalten.
- Fügen Sie dann den folgenden Code in dieses Codefenster ein:
Public Sub Based_on_Date() Dim aRgDate As Range Dim aRgSend As Range Dim aRgText As Range Dim aRgDone As Range Dim aOutApp As Object Dim aMailItem As Object Dim aLastRow As Long Dim CrLf As String Dim aMailBody As String Dim zRgDateVal As String Dim zRgSendVal As String Dim aMailSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("select the column of duedate:", _ "Send Mail Base on Date", , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("select the email recipients column:", _ "Send Mail Base on Date", , , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Select the content column of email:", _ "Send Mail Base on Date", , , , , , 8) If aRgText Is Nothing Then Exit Sub aLastRow =aRgDate.Rows.Count Set aRgDate = aRgDate(1) Set aRgSend = aRgSend(1) Set aRgText = aRgText(1) Set aOutApp = CreateObject("Outlook.Application") For j = 1 To aLastRow zRgDateVal = "" zRgDateVal = aRgDate.Offset(j - 1).Value If zRgDateVal "" Then If CDate(zRgDateVal) - Date 0 Then zRgSendVal = aRgSend.Offset(j - 1).Value aMailSubject = aRgText.Offset(j - 1).Value & " on " & zRgDateVal CrLf= "
" aMailBody = "" aMailBody = aMailBody & "Hallo " & zRgSendVal & CrLf aMailBody = aMailBody & "Nachricht: " & aRgText.Offset(j - 1).Value & CrLf aMailBody = aMailBody & "" Set aMailItem = aOutApp.CreateItem(0) With aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Set aMailItem = Nothing End If End If Next Set aOutApp = Nothing EndUnter
- Verwenden Sie nun die ausführen. Taste oder die Taste F5 Taste, um den Code auszuführen.
- Es öffnet sich ein neues Dialogfeld.
- Wählen Sie anschließend im Eingabefeld dieses Dialogfelds den Spaltenbereich für das Fälligkeitsdatum aus D$5:$D$9 Dann klicken Sie auf OK .
- Es wird ein weiteres Dialogfeld eingeblendet.
- Wählen Sie außerdem im Eingabefeld den Spaltenbereich B$5:$B$9 die die E-Mail-Adressen enthält, und klicken Sie auf OK .
- Außerdem wird ein weiteres Fenster angezeigt, in dem Sie den Nachrichtenbereich auswählen können $C$5:$C$9 in das Eingabefeld des Popfensters ein.
- Am Ende sehen wir Ergebnisse wie das folgende Bild: Wir erhalten 3 E-Mails, die automatisch erstellt werden in 3 verschiedene Fenster von Ausblick Dadurch wird keine E-Mail für die ersten beiden E-Mail-Adressen erstellt, da das Fälligkeitsdatum für diese beiden Projekte bereits überschritten ist.
Lesen Sie mehr: Automatisches Senden von E-Mails aus Excel basierend auf dem Datum
Ähnliche Lektüre
- [Gelöst]: Freigegebene Arbeitsmappe wird in Excel nicht angezeigt (mit einfachen Schritten)
- Wie man E-Mails aus einer Excel-Liste versendet (2 wirksame Methoden)
- Wie man eine bearbeitbare Excel-Tabelle per E-Mail versendet (3 schnelle Methoden)
- Makro zum Senden von E-Mails aus Excel (5 geeignete Beispiele)
- Makro zum Versenden von E-Mails aus Excel mit Body (3 nützliche Fälle)
3 Excel-Makro zum automatischen Senden von E-Mails mit Anhängen verwenden
Im letzten Beispiel werden wir sehen, wie wir ein Excel-Makro entwickeln können, um automatisch eine E-Mail mit Anhängen zu versenden. Angenommen, wir haben einen Anhang in der folgenden Abbildung. Wir möchten diesen Anhang über eine E-Mail mit Excel versenden VBA Dazu benötigen wir den Pfad zu dieser Excel-Datei. Hier sind die Schritte dafür:
- Wählen Sie die Datei ' Anlage.xlsx ' '.
- Klicken Sie auf die Option ' Pfad kopieren '.
- Also, der Pfad der Datei, die wir bekommen:
Wir fügen diesen Pfad in unseren Makrocode ein, um diese Datei per E-Mail zu versenden. Gehen Sie dazu wie folgt vor.
SCHRITTE:
- Gehen Sie erstens zur Entwickler und wählen Sie die Option Visual Basic .
- Ein neues Fenster namens ' Projekt - VBAProject wird geöffnet '.
- Zweitens, Rechtsklick auf auf den Blattnamen.
- Wählen Sie dann einfügen. > Modul .
- Der obige Befehl öffnet ein leeres VBA
- Drittens: Geben Sie den folgenden Code in dieses Modul ein:
Sub send_Email_complete() Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.To = "[email protected]" MyMail.cc = "[email protected]" MyMail.BCC = "[email protected]" MyMail.Subject = "Sending Email with VBA." MyMail.Body = "This is a Sample Mail." Attached_File = "E:\Exceldemy\Attachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub
- Dann drücken Sie die F5 Taste oder klicken Sie auf die ausführen. um den Code auszuführen.
- Zum Schluss sendet der Code den Anhang an die im Code angegebenen E-Mails. Der Code sendet E-Mails per Ausblick Also, klicken Sie auf die Erlauben Sie Taste zu lassen Ausblick sendet den Anhang an die angegebenen E-Mails.
Lesen Sie mehr: Makro zum Senden von E-Mails aus Excel mit Anhang anwenden
Schlussfolgerung
Zusammenfassend zeigt dieser Artikel 3 Beispiele für die Verwendung von Excel VBA Makro, um E-Mails automatisch zu versenden. Laden Sie das Beispiel-Arbeitsblatt in diesem Artikel herunter, um Ihre Fähigkeiten zu testen. Wenn Sie Fragen haben, hinterlassen Sie bitte einen Kommentar in dem unten stehenden Feld. Unser Team wird versuchen, Ihre Nachricht so schnell wie möglich zu beantworten. Halten Sie Ausschau nach weiteren originellen Microsoft Excel Lösungen in der Zukunft.