Hier ist eine Methode, wie man E-Mails mit einem VBA-Makro in Excel sendet. In diesem Beitrag werde ich nicht Schritt für Schritt erklären, wie man mit Hilfe von Makros und VBA-Optionen in Microsoft Excel E-Mails versenden kann.
Das liegt daran, dass die Tabellenkalkulationsvorlage, die ich mit Ihnen teilen möchte, für einen ganz bestimmten Zweck erstellt wurde und für den durchschnittlichen Blog-Leser wahrscheinlich nicht nützlich ist.
Was ich stattdessen tun möchte, ist, Ihnen ein Beispiel zu geben, warum und wie ich E-Mails (mit Anhängen) mit Excel versenden musste. Dies könnte vielleicht eine Inspiration für Sie sein, um einen Prozess mit Ihren Arbeitsabläufen oder Kollegen effizienter zu gestalten.
Ich habe die Grundformel der Vorlage in diesem YouTube-Video unten gelernt.
Ich werde erklären, wie ich die Vorlage aus dem obigen Video verwendet habe, um die Aufgabe zu erledigen, die ich automatisieren musste.
Was das Makro für mich tun sollte
Was ich tun musste, war Folgendes.
Aus einer Datenbank konnte ich separate Verkaufsberichte für jedes Land herunterladen. Ich kann auch die Daten (die Website-Besucher, Leads und Verkäufe enthalten) in eine Tabelle in Excel herunterladen.
Unten ist die Tabelle mit den Daten (die Daten, die derzeit darin enthalten sind, sind alle Zufallszahlen, die durch die Formel =RANDBETWEEN() generiert werden).
Ich brauchte eine Möglichkeit, die Tabelle in ein Excel-Blatt zu kopieren und einzufügen, das dann automatisch eindeutige E-Mails für 23 verschiedene Vertriebsbüros erstellt.
Jede einzelne E-Mail sollte die Leistung des Verkaufsbüros zusammenfassen und einen eindeutigen E-Mail-Anhang enthalten.
Am Ende erhielt ich die folgende E-Mail-Vorlage.
Ich habe dann ein VBA-Makro in Excel erstellt. Der Makrotext steht unten.
Sub Send_email_fromexcel()Dim edress As StringDim subj As StringDim message As StringDim filename As StringDim outlookapp As ObjectDim outlookmailitem As ObjectDim myAttachments As ObjectDim path As StringDim lastcol As IntegerDim attachment As StringDim x As Integer x = 2Do While Sheet7.Cells(2, x) <> "" Set outlookapp = CreateObject("Outlook.Application") Set outlookmailitem = outlookapp.createitem(0) Set myAttachments = outlookmailitem.Attachments path = Sheet7.Cells(5, x) edress = Sheet7.Cells(2, x) cc = Sheet7.Cells(3, x) subj = Sheet7.Cells(4, x) filename = Sheet7.Cells(6, x) attachment = path + filename outlookmailitem.to = edress outlookmailitem.cc = cc outlookmailitem.bcc = "" outlookmailitem.Subject = subj outlookmailitem.body = Sheet7.Cells(7, x) myAttachments.Add (attachment) outlookmailitem.display outlookmailitem.send lastcol = lastcol + 1 edress = "" x = x + 1LoopSet outlookapp = NothingSet outlookmailitem = NothingEnd Sub
I’ve provided the Excel file template if you’d like to experiment and practice using the file.
Unfortunately I had to remove the macro from the file, as I’m unable to upload a .xlsm file to this WordPress site.
Download Excel file template
Download the template file by clicking on the link below:
Hope this post was useful for those interested in automating some tasks involving Excel and Outlook!
My Other Blog Posts
If you enjoyed this post you might like these other blog posts I’ve written.
Ich bin Michael
Ich bin ein südafrikanischer Digitalanalyst, der in Toronto lebt, Kanada. Ich blogge über digitales Marketing, Webanalyse und Datenvisualisierung.
Nimm Kontakt mit mir auf!
LinkedIn
Twitter
Email