Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA mehrere E-Mail erstellen

VBA mehrere E-Mail erstellen
13.11.2019 07:35:44
kultnoob
Guten Morgen zusammen,
hoffe allen geht es gut. Wende mich an euch für ein wenig Hilfe. :-)
In einer Excel sind E-Mailadressen enthalten. Diese kann ich mit unten aufgeführten Code in Outlook übertragen und eine E-Mail öffnet sich. Soweit so gut. Nun zu meiner eigentlichen Frage.
Wenn ich innerhalb der Excel-Datei mehrere Einträge habe, an die eine E-Mail erstellt werden soll, wird immer die gleiche E-Mail verwendet und nur die E-Mailadresse im Feld "AN" ergänzt.
Besteht die Möglichkeit, dass für jede Zeile, welche die Bedingung erfüllt, eine "NEUE" E-Mail erstellt wird? Ja, wenn ich 20 E-Mails versenden muss, dann habe ich 20 nicht versendete E-Mails offen. Dies ist mir bewusst aber gewünscht.

Sub E_Mail()
Dim objOutlook As Object
Dim objE_Mail As Object
Dim EMail As String
Set objOutlook = CreateObject("Outlook.Application")
'CreateItem 0 = E-Mail, wenn eine 1 gewählt wird, wird eine Outlook-Einladung erstellt
Set objE_Mail = objOutlook.CreateItem(0)
if ...
EMail = "TEXT" 'in HTML
With objE_Mail
'Den Wert der Variable Adresse im Feld "AN" der Einladung eingeben
Set myRequiredAttendee = .Recipients.Add(Cells(a, Mail).Value)
'HTMLBody gibt den Text farblich wieder
.HTMLBody = EMail
'Betreff einfügen
.Subject = "Bitte um dringende Rückmeldung"
'Neue E-Mail in Outlook öffnen
.Display
'Wichtigkeitsstufe im Outlook festlegen
.Importance = olImportanceHigh
End With
end if
Vom Verständnis her könnte ich mir vorstellen, dies in einer Schleife zu realisieren. Nur wie mache ich das mit einer E-Mail?
Freue mich über jegliche Unterstützung und bedanke mich bei allen.
Grüße

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA mehrere E-Mail erstellen
13.11.2019 08:09:14
Klaus
Hallo Kultnoob,
im Prinzip so - ich weiss natürlich nicht wo deine Mailadressen und Bedingungen stehen, das musst du anpassen.
Ist Set myRequiredAttendee richtig als "MailTo-Adresse"? Ich kanns nicht testen, hab hier kein Outlook aber laut meiner eigenen Makrosammlung müsste die Zeile objE_Mail.To lauten.
Sub Mails20()
For a = 1 To 20
'deine Bedingung ist zum Beispiel, in Spalte H steht "ja"
If Cells(a, 8).Value = "ja" Then
'Die Mailadresse steht in Spalte I
Call E_Mail(Cells(a, 9).Value)
End If
Next a
End Sub
Sub E_Mail(TOMail As String)
Dim objOutlook As Object
Dim objE_Mail As Object
Dim EMail As String
Set objOutlook = CreateObject("Outlook.Application")
'CreateItem 0 = E-Mail, wenn eine 1 gewählt wird, wird eine Outlook-Einladung erstellt
Set objE_Mail = objOutlook.CreateItem(0)
EMail = "TEXT" 'in HTML
With objE_Mail
'Den Wert der Variable Adresse im Feld "AN" der Einladung eingeben
Set myRequiredAttendee = .Recipients.Add(TOMail)
'HTMLBody gibt den Text farblich wieder
.HTMLBody = EMail
'Betreff einfügen
.Subject = "Bitte um dringende Rückmeldung"
'Neue E-Mail in Outlook öffnen
.Display
'Wichtigkeitsstufe im Outlook festlegen
.Importance = olImportanceHigh
End With
End Sub

Anzeige
AW: VBA mehrere E-Mail erstellen
13.11.2019 08:49:34
kultnoob
Hi Klaus,
yeahh super... es funktioniert. Gut die Logik erschließt sich mir nun. Vielen Dank für die Hilfe.
Zu Deiner Frage...
objE_Mail.To
Habe es nicht geändert, da es funktioniert. Falls Du dich darauf beziehst.

Set objOutlook = CreateObject("Outlook.Application")
'CreateItem 0 = E-Mail, wenn eine 1 gewählt wird, wird eine Outlook-Einladung erstellt
Set objE_Mail = objOutlook.CreateItem(0)
Muss nur noch eine Variable von ersten Sub in den zweiten übergeben. Dann läuft es soweit. :-)
Vielen Dank und einen schönen Tag.
Grüße
Anzeige
Danke für die Rückmeldung! owT.
13.11.2019 09:48:07
Klaus
.

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige