Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1056to1060
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

Geburtstagsgrüße von Excel in Outlook senden mit T

Geburtstagsgrüße von Excel in Outlook senden mit T
07.03.2009 16:14:08
Excel
Hallo Liebe Excel Freunde
erstmal ein Großes Lob an euch ihr seid echt spitze habe hier schon viele Sinnvolle Tips erhalten.
Jetzt bin ich mit meinem Latein am Ende.
Es geht darum ich habe mir eine Geburtstagsliste gestaltet in Excel unter anderem auch mit einer Email Adresse. Jetzt möchte ich an dem Tag an dem derjenige Geburtstag hat eine Mail verschicken die in einer Zeile hinterlegt ist ( Hallo......... (Zeile A1) Herzlichen Glückwunsch zum Geburtstag usw.) Der Name aus Zeile A1 soll dann mit in dem Text eingefasst werden.
Die Daten sind :
Zeile A1 = Name
Zeile B1 = Geburtsdatum (18.05.1980)
Zeile S1 = E-mail Adresse
Zeile Y23 = der Vorgefertigte Text (Hallo......... (Zeile A1) Herzlichen Glückwunsch zum Geburtstag usw.)
Ich habe keine Erfahrung mit Makros oder VBA`s. Verwende Office 2007. Die Mail soll dann im Postausgang befördert werden.
Wie sieht es dann damit aus wenn in der Spalte S mal keine E-Mail Adresse vorhanden ist.
Vielen Dank im vorraus für eure Hilfe.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Geburtstagsgrüße von Excel in Outlook senden mit T
07.03.2009 17:34:16
Excel
Hi Andreas,
Ein sehr ähnliches Problem, war gerade hier: https://www.herber.de/forum/messages/1057610.html
Also könnte dieser Code funktionieren.
Kopieren in ein Modul, so:
Alt-F11 VBE öffnen
Rechtsklick auf VBAProjekt - Einfügen - Modul und Code in das leere Fenster kopieren:

Sub VerfallPrüfen()
Const ctTabellenName = "Tabelle1"
Const ctSpaltePrüfen = "B"
Const ctSpalteErledigt = "Z"
Const ctSpalteName = "A"
Const ctSpalteEmpfänger = "S"
Dim lRow As Long
Dim bDoCheck As Boolean
Dim objApp As Object
Dim objMailItm As Object
Dim lMailCnt As Long
Set objApp = CreateObject("Outlook.Application")
lRow = 4
bDoCheck = True
Do While bDoCheck
With Sheets(ctTabellenName)
If .Cells(lRow, ctSpaltePrüfen) = Date And _
.Cells(lRow, ctSpalteErledigt)  "erledigt" Then
Set objMailItm = objApp.CreateItem(0)
objMailItm.To = .Cells(lRow, ctSpalteEmpfänger)
objMailItm.Subject = "Alles Gute zum Geburtstag"
objMailItm.Body = Replace(.Range("Y23").Value, "(Zeile A1", .Cells(lRow,  _
ctSpalteName))
objMailItm.Send
Set objMailItm = Nothing
.Cells(lRow, ctSpalteErledigt) = "erledigt"
lMailCnt = lMailCnt
End If
lRow = lRow + 1
bDoCheck = Not (IsEmpty(.Cells(lRow, ctSpaltePrüfen)))
End With
Loop
objApp.Quit
Set objApp = Nothing
If lMailCnt = 0 Then
MsgBox "Es wurden keine Mails gefunden/verschickt!", _
vbOKOnly + vbInformation, "Mails geprüft"
Else
MsgBox "Es wurden " & lMailCnt & " Mails verschickt!", _
vbOKOnly + vbInformation, "Mails geprüft"
End If
End Sub


GreetZ Renée

Anzeige
AW: Geburtstagsgrüße von Excel in Outlook senden mit T
07.03.2009 21:18:11
Excel
Hi GreetZ Renée
habe es ausprobiert und es klappt leider nicht.
habe es so gemacht wie beschrieben. und dann bin ich auf speichern gegangen. Habe Excel dann neu gestartet und das Makro wurde aus Sicherheitsgründen deaktiviert.
Habe dann ein Häckchen gemacht zum "diesen Inhalt Aktivieren. leider kam dann nichts.
meine Frage auch was hat Spalte Z zu tun ? dort steht nicht drinne.
Spalte B ist als Datum Formatiert. und die E-mail ist blau hinterlegt. (Wenn man draufklickt kann man gleich ne mail von Outlook aus schreiben.
? werde ich dumm sterben ?
AW: Geburtstagsgrüße von Excel in Outlook senden mit T
07.03.2009 21:31:27
Excel
Hi Andreas,
Entweder sterben alle dumm oder niemand, das ist eine Frage der Definition ;-))
Also die Spalte Z hab ich nur mal so eingeführt, weil das Makro ja irgendwie kontrollieren soll, ob schon mal eine E-Mail verschickt wurde oder nicht. Es schreibt dann in diese Spalte "erledigt" und würde bei einem wiederholten Lauf (am gleichen Tag) nicht nocheinmal ein E-Mail schreiben. Das wirkt wie ein kleiner Spam-Blocker ;-)
Nun warum es nicht gelaufen ist, kann ich Dir so einfach nicht beantworten.
Hast du es überhaupt laufen lassen?, weil es läuft nicht automatisch an!
Es wird nur ein E-Mail verschickt, wenn ein Geburtstag genau heute (Tagesdatum) ist.
Ist Outlook auf deinem Rechner installiert?
Kannst du mal eine Beispielmappe unter diesem Link hochladen?
Bitte anonymisiere deine Daten, behalte aber den original Tabellenaufbau bei und bitte speichere/lade die Datei in einem XL2000 kompatiblen Format. Ich hab kein XL2007.
GreetZ Renée
Anzeige
AW: Geburtstagsgrüße von Excel in Outlook senden mit T
12.03.2009 16:51:21
Excel
hi Rennée
habe einen vergessen die Datei xl2000 kompatibel zu machen. hier ist der neue Link:
https://www.herber.de/bbs/user/60253.xls
Alles i.O. die neue ist schon oben! (owT)
12.03.2009 16:54:17
Renee

AW: Alles i.O. die neue ist schon oben! (owT)
12.03.2009 18:13:55
Andreas
Vielen Dank klappt super!!!!!!!!!
AW: Geburtstagsgrüße von Excel in Outlook senden mit T
14.03.2009 11:40:27
Excel
Hi Andreas,
Was ist denn da so schwierig?
Die Spalten anpassen, den Namen aus Spalte 1 & 2 zusammensetzten und den Text, statt aus Y23 aus AB3 nehmen!

Sub VerfallPrüfen()
Const ctTabellenName = "Tabelle1"
Const ctSpaltePrüfen = "D"
Const ctSpalteErledigt = "U"
Const ctSpalteName = "A"
Const ctSpalteEmpfänger = "T"
Dim lRow As Long
Dim bDoCheck As Boolean
Dim objApp As Object
Dim objMailItm As Object
Dim lMailCnt As Long
Set objApp = CreateObject("Outlook.Application")
lRow = 5
bDoCheck = True
Do While bDoCheck
With Sheets(ctTabellenName)
If .Cells(lRow, ctSpalteEmpfänger)  "" And _
.Cells(lRow, ctSpaltePrüfen) = Date And _
.Cells(lRow, ctSpalteErledigt)  "erledigt" Then
Set objMailItm = objApp.CreateItem(0)
objMailItm.To = .Cells(lRow, ctSpalteEmpfänger)
objMailItm.Subject = "Alles Gute zum Geburtstag"
objMailItm.Body = Replace(.Range("AB3").Value, _
"?NAME?", .Cells(lRow, ctSpalteName) & _
" " & .Cells(lRow, ctSpalteName).Offset(0, 1))
On Error Resume Next
objMailItm.Send
On Error GoTo 0
Set objMailItm = Nothing
.Cells(lRow, ctSpalteErledigt) = "erledigt"
lMailCnt = lMailCnt + 1
End If
lRow = lRow + 1
bDoCheck = Not (IsEmpty(.Cells(lRow, ctSpaltePrüfen)))
End With
Loop
objApp.Quit
Set objApp = Nothing
If lMailCnt = 0 Then
MsgBox "Es wurden keine Mails gefunden/verschickt!", _
vbOKOnly + vbInformation, "Mails geprüft"
Else
MsgBox "Es wurden " & lMailCnt & " Mails verschickt!", _
vbOKOnly + vbInformation, "Mails geprüft"
End If
End Sub


Schönes Wochenende & weiterhin gutes VBA-Basteln.
GreetZ Renée

Anzeige
AW: Geburtstagsgrüße von Excel in Outlook senden mit T
14.03.2009 11:53:35
Excel
Danke nochmal habe es dreimal ausprobiert und es hat nicht geklappt.
Wünsche dir auch ein schönes Wochenende.
Manchmal muss man 1000x probieren!
14.03.2009 11:57:06
Renee

automatischer Anlauf!
07.03.2009 21:52:52
Renee
Hi Andreas,
Wenn du willst, dass das Makro automatisch anläuft, dann kopier noch diesen Code in DieseArbeitsmappe (Doppelklick auf DieseArbeitsmappe und kopieren):

Private Sub Workbook_Open()
Call VerfallPrüfen
End Sub


Grüsse von Renée

AW: automatischer Anlauf!
12.03.2009 16:21:25
Andreas
Hallo Rene habe die Datei hochgeladen Link: https://www.herber.de/bbs/user/60248.xls
falls Probleme kommen einfach mailen das mit dem Automatsch starten ist echt Klasse.
Anzeige
AW: automatischer Anlauf!
12.03.2009 16:48:50
Renee
Hallo Andreas,
Es hatte verschiedene Fehler:
1. Zeile ist 5 und nicht 4
2. Die Prüfspalte war falsch, der Test muss auf das heutige Daten erfolgen!
3. Den Text habe ich leicht verbessert, so dass der Name (aus Spalte A) eingefügt wird. Dort könnte z.B. auch stehen "liebe Cecille", statt nur "Cecille" (macht's ein bisschen persönlicher ;-))
Also hier die korrigierte Datei: https://www.herber.de/bbs/user/60252.zip
GreetZ Renée
AW: automatischer Anlauf!
13.03.2009 21:53:40
Andreas
Hi Rene
leider hat meine Frau ein paar verbesserungsvoschläge die ich leider nciht umsetzen kann
und zwar möchte sie nur die vornamen haben habe deswegen auch noch eine neue Spalte gemacht.
A= Vornamen
B= Nachnamen
E= Geburtsdatum
U= Email verschickt Erledigt
AB= Glückwunsch Text.
einfaches umbenennen der Spalten in dem Modul hat leider nihts gebracht. Kannst du mir da weiterhelfen?
Anzeige
AW: automatischer Anlauf!
13.03.2009 22:02:44
Renee
Hi Andreas,
Grüsse von einer Frau an Deine Frau.... ;-)) immer diese Frauen...
Kannst du eine Beispielmappe mit dem neuen Tabellenaufbau und deinen Anforderungen hochladen?
GreetZ Renée

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige