Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Reminder / Newsletter per Mail versenden

Reminder / Newsletter per Mail versenden
23.09.2021 08:37:32
Julian
Hallo Profis :)
ich habe doch eine weitaus schwierigere Situation vor mir, als ich vorher befürchtet hatte. Vielleicht kann mir da ja jemand helfen. Da das Thema recht komplett ist, habe ich die Datei mal hier hochgeladen: https://www.herber.de/bbs/user/148215.xlsm
Es handelt sich um eine Orderliste, welche per CSV in diese Tabelle importiert wird. Die Kunden buchen Kurse. Jetzt soll die Liste eine Woche vor Kurstermin eine Variable Mail bekommen mit Checkliste und Erinnerung, aber je nachdem welcher Kurs gebucht wurde.
Hier etwas detaillierter:
Beim Öffnen der Tabelle soll folgendes geschehen:
- CSV Datei wird importiert (Schritt ist klar und funktioniert auch gut)
- jede Position soll geprüft werden und nach folgenden Kriterien soll ein Makro ausgelöst werden:
- Wenn der Termin ("N") zu heute kleiner 7 Tage und Spalte "U" leer
- DANN Makro Email (über Outlook) und anschließend eine 1 in Spalte "U", damit diese Person nicht bei jedem Öffnen eine Mail erhält.
- Makro Senden soll folgendes tun:
- Für jede Position der oben genannten Kriterien eine variable Mail verfassen.
- Empfänger, Name, Datum des Kurses sollen automatisch für die jeweilige Person / Email gezogen werden
- In Spalte "W" wird über einen SVERWEIS die Kursnummer definiert, welche den jeweiligen Text beinhaltet. Bedeutet, dass z.B. Kurs 4 einen anderen Inhalt der Mail bekommen soll, als alle anderen Kurse.
Ein paar Makros habe ich schon in der Tabelle enthalten, aber das ist mir leider doch etwas zu komplex :(
Hat jemand von Euch zumindest einen Ansatz oder Denkanstoß für mich?
Liebe Grüße, Julian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: für einen Entwickler?
23.09.2021 09:36:44
Fennek
Hallo Julian,
die Datei, insbesondere die Versuche in VBA scheinen noch sehr am Anfang zu stehen.
Im Prinzip sollte die Aufgabe recht gut machbar sein, aber die CSV muss bekannt sein und der Zeitaufwand dürfte erheblich sein.
mfg
AW: Reminder / Newsletter per Mail versenden
23.09.2021 10:02:39
Klaus
Hallo Julian,
bitteschön:

Option Explicit
Sub ReminderOutlook()
Dim sSubject As String
Dim sTo As String
Dim sCC As String
Dim sText As String
Dim lRow As Long
Dim myCol As Long
Dim myRng As Range
Dim z As Long
With Tabelle5
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For Each myRng In .Range("N2:N" & lRow)
If myRng.Value 
"
Case 3, 5
sText = sText & Tabelle7.Cells(z, myCol).Value & " "
Case 6
sText = sText & .Cells(myRng.Row, 14).Value
Case Else
sText = sText & Tabelle7.Cells(z, myCol).Value & "
" End Select Next z sText = sText & "
Dieses Mail wurde automatisch erstellt
" sTo = .Cells(myRng.Row, 11).Value sSubject = "Reminder: " & .Cells(myRng.Row, 13).Value & " am " & .Cells(myRng.Row, 14).Value Call Outlook_SendMail(sSubject, sTo, sCC, sText) End If End If Next myRng End With End Sub Private Sub Outlook_SendMail(sSubject As String, sTo As String, sCC As String, sText As String) Dim olApp As Object Dim olOldBody As String 'Email Erstellen Set olApp = CreateObject("Outlook.Application") With olApp.CreateItem(0) .GetInspector.Display olOldBody = .htmlBody .To = sTo .cc = sCC .Subject = sSubject .htmlBody = sText & olOldBody End With End Sub
LG,
Klaus M.
Anzeige
nochmal ohne HTML Tags
23.09.2021 10:05:01
Klaus
Hi Julian,
das Forum hat die HTML Tags interpretiert. Ich habe die mal mit ( entschärft.

Option Explicit
Sub ReminderOutlook()
Dim sSubject As String
Dim sTo As String
Dim sCC As String
Dim sText As String
Dim lRow As Long
Dim myCol As Long
Dim myRng As Range
Dim z As Long
With Tabelle5
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For Each myRng In .Range("N2:N" & lRow)
If myRng.Value "
Case 3, 5
sText = sText & Tabelle7.Cells(z, myCol).Value & " "
Case 6
sText = sText & .Cells(myRng.Row, 14).Value
Case Else
sText = sText & Tabelle7.Cells(z, myCol).Value & "(br>"
End Select
Next z
sText = sText & "(br>(br>(i>Dieses Mail wurde automatisch erstellt(/i>(br>(br>"
sTo = .Cells(myRng.Row, 11).Value
sSubject = "Reminder: " & .Cells(myRng.Row, 13).Value & " am " & .Cells(myRng.Row, 14).Value
Call Outlook_SendMail(sSubject, sTo, sCC, sText)
End If
End If
Next myRng
End With
End Sub
Private Sub Outlook_SendMail(sSubject As String, sTo As String, sCC As String, sText As String)
Dim olApp         As Object
Dim olOldBody     As String
'Email Erstellen
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector.Display
olOldBody = .htmlBody
.To = sTo
.cc = sCC
.Subject = sSubject
.htmlBody = sText & olOldBody
End With
End Sub

Anzeige
Über eine Rückmeldung ....
24.09.2021 11:58:22
Klaus
.... nach 24h würde ich mich sehr freuen, denn ich habe durchaus etwas Arbeit hinein gesteckt.
LG,
Klaus M.

336 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige