Registriert seit: 21.07.2016
Version(en): 2007
16.09.2016, 16:00
(Dieser Beitrag wurde zuletzt bearbeitet: 16.09.2016, 16:02 von IchBinIch.)
Hi, dann teste das mal so: Modul Modul1Sub EmailVersenden() Dim z As Long Dim zm As Long Dim Empfänger As String Dim Titel As String Dim Nachricht As String Dim Hyperlink As String
With Tabelle1 'Ermittlung der letzten Zeile in Spalte A zm = .Cells(Rows.Count, 1).End(xlUp).Row 'Aufsetzen der Schleife For z = 2 To zm 'Wenn das Datum in Spalte A <= Heute dann If .Cells(z, 1).Value <= Date Then
'Empfänger festelegen Empfänger = Tabelle1.Cells(z, 4) 'Betreff zusammenbasteln Titel = Tabelle1.Cells(z, 2).Value & " " & Tabelle1.Cells(z, 3).Value 'Nachrichtentext erstellen Nachricht = "Bitte die im Betreff genannte Nummer prüfen!" 'Hyperlink zusammensetzen
Hyperlink = "mailto:" & Empfänger & "&" Hyperlink = Hyperlink & "subject=" & Titel & "&" Hyperlink = Hyperlink & "body=" & Nachricht ActiveWorkbook.FollowHyperlink Hyperlink Application.Wait (Now + TimeValue("0:00:02")) Application.SendKeys ("%s") End If Next z
End With End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media Code erstellt und getestet in Office 12 - mit VBAHTML 12.6.0 Ich bin davon ausgegeangen, dass in Spalte D zukünftig Mail-Adressen stehen. Das" Sendkeys" kann je nach Arbeitsplatzumgebung Probleme machen. Bei mir hier im Büro klappts so nicht. Zuhause ja. Das konnte ich schon bei anderen Gelegenheiten testen. Für die Geschichte mit "einer Mail pro Mailempfänger" gibt es auch eine Lösung. Sollen dann alle Nummern im Betreff auftauchen? Teste erst mal so und gib ein Feedback. Gruß Ich
Registriert seit: 16.09.2016
Version(en): 2013
Hi IchBinIch,
vielen Danke für deine Arbeit! Hat funktioniert:)
Ich hab jetzt wie du bereits gesagt hast 5 Mails bekommen aufgrund des selben Datums. Wäre das möglich nur eine Mail zu bekommen, wenn mehrere Zeilen das selbe Datum haben?
Ich habe gesehen, die Nachricht ist jetzt vorprogrammiert....könnte man das auch so einstellen, dass die Nachricht die Nummern erwähnt die zu kontrollieren sind? Sry, hab ich davor nicht bedacht! Weil wenn ich jetzt bspw. 15 Nummern oben im Betreff habe ist das ziemlich unübersichtlich.
Was deine Vermutung angeht...die E-Mail soll immer an die selbe Person geschickt werden. Der Name (Spalte D) in der Tabelle ist für die E-Mail also nicht so wichtig. Hab dafür einfach deine Codezeile aus dem vorherigen Beitrag eingefügt und die jetzige gelöscht...hat super geklappt. Danke!
Nur zum Verständnis: Muss explizit die diese Datei geöffnet sein aus der die Daten in der E-Mail verwendet werden oder reicht es wenn Excel allg. geöffnet ist, z.B. eine andere Datei? Hab im Internet etwas mit Verknüpfung dazu gelesen, bin mir aber nicht sicher ob das damit gemeint ist..."Über Verknüpfungen können wir auf Daten innerhalb eines Blattes, einer Datei oder auf Daten anderer Dateien zugreifen, diese müssen dafür nicht geöffnet sein."?
Beste Grüße
Registriert seit: 21.07.2016
Version(en): 2007
Hi, also um den Einzelversand zu unterbinden, verwende den folgenden Code: Modul Modul1Sub EmailVersenden() Dim z As Long Dim zm As Long Dim Empfänger As String Dim Titel As String Dim Nachricht As String Dim Hyperlink As String Dim pn As String
With Tabelle1 'Ermittlung der letzten Zeile in Spalte A zm = .Cells(Rows.Count, 1).End(xlUp).Row 'Aufsetzen der Schleife For z = 2 To zm 'Wenn das Datum in Spalte A <= Heute dann If .Cells(z, 1).Value <= Date Then pn = pn & .Cells(z, 3).Value & ", " End If Next z End With 'Empfänger festelegen. !!!BITTE ANPASSEN!!! Empfänger = "WhoEver@WhatEver.com" 'Betreff festlegen Titel = "ERINNERUNG! Kontrolle von Nummer(n) fällig!" 'Nachrichtentext erstellen Nachricht = "Bitte die nachfolgend genannte Nummer prüfen!" 'Hyperlink zusammensetzen Hyperlink = "mailto:" & Empfänger & "&" Hyperlink = Hyperlink & "subject=" & Titel & "&" Hyperlink = Hyperlink & "body=" & Nachricht & "%0A" & "%0A" & pn
ActiveWorkbook.FollowHyperlink Hyperlink Application.Wait (Now + TimeValue("0:00:02")) Application.SendKeys ("%s")
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media Code erstellt und getestet in Office 12 - mit VBAHTML 12.6.0 Spaltentechnisch wird jetzt eigentlich nur noch der Inhalt von Spalte A und C genutzt. Hinsichtlich Deiner Frage ob man auch verknüpfen könnte, bin ich momentan überfragt. Der Code gehört in die Tabelle, die Du bereit gestellt hast. Gruß Ich
Registriert seit: 16.09.2016
Version(en): 2013
Hey,
ich hab mich wohl erneut misslich ausgedruckt, sry:33: ....ich meinte damit, dass in der Nachricht die Nummern stehen sollen, die zu kontrollieren sind anstatt im Betreff also z.B. -1233, -30984, -572344, -347 etc.?
Ich hab den Code jetzt mal für die wirkliche Datei benutzt und dort wird mir jetzt gesagt: "Laufzeitfehler '424': Objekt erforderlich". Weißt du woran das liegen könnte? Ich muss dazu sagen, dass bei der wirklichen Datei anstatt Nummern ein anderer Begriff dort steht. Ist das relevant?...dacht der Code bezieht sich auf die Spalte im Allgemeinen, nicht auf das was in der 1. Zeile dort steht. Da sind wir auch gleich beim nächsten Thema, ich musste jetzt in der Tabelle die 1. & 2. Zeile verbinden, die 3. ist praktisch leer und ab der 4. geht's dann los mit Datum, Betreff und Zahlen. Denke mal das muss im Code noch berücksichtigt werden oder? Tut mir echt leid, dass ich jetzt erst damit ankomme aber musste die Tabelle gerade umstrukturieren.
Beste Grüße
Registriert seit: 21.07.2016
Version(en): 2007
(19.09.2016, 15:16)Garfield123 schrieb: Hey,
ich hab mich wohl erneut misslich ausgedruckt, sry:33: ....ich meinte damit, dass in der Nachricht die Nummern stehen sollen, die zu kontrollieren sind anstatt im Betreff also z.B. -1233, -30984, -572344, -347 etc.?
Ich hab den Code jetzt mal für die wirkliche Datei benutzt und dort wird mir jetzt gesagt: "Laufzeitfehler '424': Objekt erforderlich". Weißt du woran das liegen könnte? Ich muss dazu sagen, dass bei der wirklichen Datei anstatt Nummern ein anderer Begriff dort steht. Ist das relevant?...dacht der Code bezieht sich auf die Spalte im Allgemeinen, nicht auf das was in der 1. Zeile dort steht. Da sind wir auch gleich beim nächsten Thema, ich musste jetzt in der Tabelle die 1. & 2. Zeile verbinden, die 3. ist praktisch leer und ab der 4. geht's dann los mit Datum, Betreff und Zahlen. Denke mal das muss im Code noch berücksichtigt werden oder? Tut mir echt leid, dass ich jetzt erst damit ankomme aber musste die Tabelle gerade umstrukturieren.
Beste Grüße Hi, Du hast Dich nicht missverständlich ausgedrückt. Mit meinem letzten Code, packt er alle Nummern in eine Variable und gibt diese dann im Nachrichtentext aus. Es ist auch egal was da drin steht. Die Spalte mit dem Betreff brauchst Du nicht mehr. Sicher das Du den richtigen Code eingefügt hast? Zum Verschieben der Bezüge: Der nachfolgende Code ist jetzt wie folgt angepasst. Ermittle die letzte Zeile in Spalte 4 = Datumsspalte. Wenn das Datum < heute ist, nimm den Wert aus der gleichen Zeile in Spalte 6 und schreibe diesen in die Variable pn. Dann gehe zur nächsten Zeile. Selbe Prüfung wenn Datum < heute dann, etc. Sub EmailVersenden() Dim z As Long Dim zm As Long Dim Empfänger As String Dim Titel As String Dim Nachricht As String Dim Hyperlink As String Dim pn As String
With Tabelle1 'Ermittlung der letzten Zeile in Spalte A zm = .Cells(Rows.Count, 4).End(xlUp).Row 'Aufsetzen der Schleife For z = 2 To zm 'Wenn das Datum in Spalte A <= Heute dann If .Cells(z, 4).Value <= Date Then pn = pn & .Cells(z, 6).Value & ", " End If Next z End With 'Empfänger festelegen. !!!BITTE ANPASSEN!!! Empfänger = "WhoEver@WhatEver.com" 'Betreff festlegen Titel = "ERINNERUNG! Kontrolle von Nummer(n) fällig!" 'Nachrichtentext erstellen Nachricht = "Bitte die nachfolgend genannte Nummer prüfen!" 'Hyperlink zusammensetzen Hyperlink = "mailto:" & Empfänger & "&" Hyperlink = Hyperlink & "subject=" & Titel & "&" Hyperlink = Hyperlink & "body=" & Nachricht & "%0A" & "%0A" & pn
ActiveWorkbook.FollowHyperlink Hyperlink Application.Wait (Now + TimeValue("0:00:02")) Application.SendKeys ("%s")
End Sub Gruß Ich
Registriert seit: 16.09.2016
Version(en): 2013
Okay jetzt hast du mich verwirrt mit Spalte 4 und 6. Wie kommst du auf diese? Bei mir sieht es folgender maßen aus... 1. Spalte = Datum, 2. Spalte. =Betreff, 3. Spalte = die variierenden Nummern, 4. Spalte= ne andere Nr. aber unwichtig, 5. Spalte auch unwichtig usw. Wichtig sind also doch nur 1. - 3. Spalte wie in meinem Bsp.
Beste Grüße
Registriert seit: 21.07.2016
Version(en): 2007
Hi,
schaue ich mir nachher nochmal in Ruhe an. ich bin schon wieder auf dem Sprung. Es gab da wohl ein paar Missverständnisse :32:
Bis später Ich
Registriert seit: 21.07.2016
Version(en): 2007
19.09.2016, 21:13
(Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2016, 21:14 von IchBinIch.
Bearbeitungsgrund: Ergänzung(en)
)
Hi, wenn ich Dich richtig verstanden habe, dann sieht Deine Tabelle in etwa so aus. Tabelle1 | A | B | C | D | E | 1 | Datum | Betreff | Nummer | Name | Anmerkung | 2 | 3 | | | | Anna | Eine Anmerkung | 4 | 11.12.2010 | Erinnerung! Kontrolle fällig von | 123 | Peter | | 5 | 11.12.2010 | Erinnerung! Kontrolle fällig von | 1234 | Thorsten | | 6 | 01.07.2011 | Erinnerung! Kontrolle fällig von | 12345 | Anna | | 7 | 01.07.2011 | Erinnerung! Kontrolle fällig von | 123456 | Jana | | Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8 Mit diesem Code Sub EmailVersenden() Dim z As Long Dim zm As Long Dim Empfänger As String Dim Titel As String Dim Nachricht As String Dim Hyperlink As String Dim pn As String
With Tabelle1 'Ermittlung der letzten Zeile in Spalte A zm = .Cells(Rows.Count, 1).End(xlUp).Row 'Aufsetzen der Schleife For z = 4 To zm 'Wenn das Datum in Spalte A <= Heute dann If .Cells(z, 1).Value <= Date Then pn = pn & .Cells(z, 3).Value & ", " End If Next z End With 'Empfänger festelegen. !!!BITTE ANPASSEN!!! Empfänger = "WhoEver@WhatEver.com" 'Betreff festlegen Titel = "ERINNERUNG! Kontrolle von Nummer(n) fällig!" 'Nachrichtentext erstellen Nachricht = "Bitte die nachfolgend genannte Nummer prüfen!" 'Hyperlink zusammensetzen Hyperlink = "mailto:" & Empfänger & "&" Hyperlink = Hyperlink & "subject=" & Titel & "&" Hyperlink = Hyperlink & "body=" & Nachricht & "%0A" & "%0A" & pn
ActiveWorkbook.FollowHyperlink Hyperlink Application.Wait (Now + TimeValue("0:00:02")) Application.SendKeys ("%s")
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0 erhalte ich das im Ergebnis
Gruß Ich Folgende Zeile musst Du entsprechend anpassen: Code: Empfänger = "WhoEver@WhatEver.com"
Der Betreff ist nun statisch und muss nicht in Deiner Tabelle geführt werden. Code: Titel = "ERINNERUNG! Kontrolle von Nummer(n) fällig!"
Registriert seit: 16.09.2016
Version(en): 2013
20.09.2016, 09:38
Moin! vielen Danke erstmal für deine Arbeit, ist echt super das Du das für mich machst!:) Ich habe deinen Code jetzt ausprobiert bei einer Beispieltabelle...da funktioniert es einwandfrei . Da du geschrieben hast das der Betreff statisch ist konnte ich jetzt die 2. Spalte auch löschen, habe den Bezug im Code dann auf die 2. Spalte gelegt, ging problemlos. Bei der richtigen Tabelle leider noch nicht .... hier wird mir folgendes wieder Angezeigt "Laufzeitfehler '424': Objekt erforderlich" und folgende Zeile in deinem Code wird gelb markiert -> zm = .Cells(Rows.Count, 1).End(xlUp).RowDer einzige Unterschied zur Beispieltabelle ist: - dass zwischendurch (Zeile 28-30) in diesen Spalten frei ist - dass anstatt "Nummer" ein anderes Wort dort steht mit diesen Zeichen zsm. ".-#" - in 3 Zeilen der 2. Spalte wo jetzt die Nummern stehen auch Buchstaben mit vorkommen (z.B. EG: 4215) - und in Spalte 3 stehen jetzt durch den Wegfall der Spalte "Betreff" auch Zahlen die aber uninteressant für die E-Mail sind Hat das vllt. irgendwelche Auswirkungen auf den Code? Sry falls das jetzt ausschlaggebend für deinen Code sein sollte! Beste Grüße
Registriert seit: 16.09.2016
Version(en): 2013
Okay das mit den Buchstaben in der 2. Spalten scheint nicht das Problem zu sein, habs nochmal ausprobiert, klapp!
Was ich noch vergessen hatte...in der richtigen Excel Datei gibt es mehrere Blätter unten in der Leiste welche nicht die Anordnung haben wie auf dem Blatt was für mich wichtig ist.
Gruß Garfield
|