Office: (Office 2013) Versenden E-Mail aus Excel Liste via VBA & Outlook

Helfe beim Thema Versenden E-Mail aus Excel Liste via VBA & Outlook in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich stehe wieder einmal vor einem mittelschweren Problem: Ich habe mir eine Excelliste erstellt mit Endterminen, Verantwortlichen,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von quecki, 17. September 2018.

  1. Versenden E-Mail aus Excel Liste via VBA & Outlook


    Hallo zusammen,

    ich stehe wieder einmal vor einem mittelschweren Problem:

    Ich habe mir eine Excelliste erstellt mit Endterminen, Verantwortlichen, Status (open/in work/closed/storno) und weiteren Feldern. Alle Datensätze (in Excel Zeilen) haben eine eindeutige laufende Nummer, die nicht gedoppelt wird, eben eindeutig.

    Gibt es eine Möglichkeit, dass eine VBA-Routine alle Datensätze, deren Termine, die kleiner als das aktuelle Datum sind und das Thema nicht Staties closed/storno besitzen filtert und an den Verantwortlichen eine Mail generiert mit Text Hallo Name, Vorname, folgende Termine sind überschritten:>> Liste der Termine

    :)
     
  2. Hallo Steffen,

    also möglich ist alles. Ich verschicke auch aus mehreren Dateien automatisch E-Mails, teilweise auch so, dass es der Benutzer überhaupt nicht mitbekommt.

    Zum Thema E-Mails aus Excel schicken. Hier kannst du entweder den weg gehen, dass du den Text selbst schon im Code hinterlegst und dieser dann bis auf die Variablen immer der gleiche ist. Oder du kannst den Text auch in ne Zelle auf deinem Arbeitsblatt schreiben, so kannst du z.B. mehrere Varianten hinterlegen, ohne das du in den Code zum anpassen musst.

    Das mit den E-Mails anzeigen nach dem generieren musst du vielleicht noch etwas genauer erklären, ich benutze einen Code zum verschicken, der dies auch automatisch macht ohne das ich die E-Mail angezeigt bekomme.

    Zu deinem Vorschlag der Routine beim Öffnen. Hier könntest du beispielsweise eine Schleife über eine bestimmte Spalte laufen lassen, z.b. über die Spalte in der du das Datum stehen hast, hier kann gleich mal verglichen werden, ob das Datum kleiner dem aktuellen Datum ist. Ist dies der Fall, überprüfst du die Spalte mit der Statusangabe. Ist der nicht geschlossen oder storniert, schickst du automatisch eine Mail an den Verantwortlichen.
    Dann geht's ab in die nächste Zeile, usw. usw., bis das Ende der Tabelle erreicht ist.

    Hier würde ich dir aber noch empfehlen, dass du vielleicht ne zusatzspalte anlegst, wo nach der Versendung der E-Mail z.B. ein x geschrieben wird. Dann kannst du auch gleich besser nachvollziehen ob zu diesem Thema schon eine Mail verschickt wurde oder nicht.

    Wenn du mal ne Demodatei hier reinstellst, dann kann ich dir gerne helfen, aber testen musst du dann leider selbst, da ich Privat kein Outlook auf dem Rechner habe.

    Gruß Manuel
     
    Manuel352, 18. September 2018
    #2
  3. Hallo Manuel,

    ich muss Dir eine Beispieldatei vorbereiten, da die Originaldatei sehr sensible Daten enthält.

    Die zusätzliche Spalte wird nicht notwendig, da ich die Kollegen so lange nerven möchte, bis der Prozess abgeschlossen ist. Also täglich, nach öffnen der Datei, soll diese Mail mit den offenen Prozessen versendet werden. Was die VBA-routine noch abfragen muss ist, dass nur von meinem Benutzernamen, den ich mir in einer Spalte aus dem environment auslesen lasse, die MAil versendet werden soll. Mein Benutzername ist "squeck".

    Ich hatte vorhin vergessen, dass auch noch das Enddatum < 5 Tage = aktuelles datum abgefragt werden soll. Das ist ein Puffer, den ich erstellt habe und über die Bedingte Formatierung visualisiere. (überlaufen = rot, noch
     
  4. Versenden E-Mail aus Excel Liste via VBA & Outlook

    Hallo Steffen,

    du wirst spätestens, wenn du die Mappe an einem Tag mehrfach geöffnet und somit auch mehrfach versendet hast, den Wunsch verspüren, dass irgendwo das Datum der letzten Versendung gespeichert wird und dann vor der Versendung abgefatagt wird, ob sich der Tag auch mindestens um 1 erhöht hat.

    Du könntest auch in einer zusätzlichen Spalte für jeden Emüfänger ein unterschiedliches Versendeintervall festlegen und dann diesen Empfänger immer nur dann nerven, wenn wiederum bspw. 3 Tage vergangen sind. Denn es kann ja sein, dass ein SB die Mail erhalten hat und sofort aktiv wurde, das Ergebnis seiner Bemühungen frühestens nach 3 Tagen vorliegen kann. Eine generelle tägliche Versendung wirkt ins solchen Fällen dann eher kontraproduktiv!!!
     
  5. ja stimmt, soweit hatte ich nicht gedacht, man verliert doch einiges aus den Augen, wenn man solche Dateien entwickelt.
    Das werden dann wohl einige Scheifen in VBA werden. Werde mich da wohl mal ransetzen müssen. Bin nur nicht der Profi in VBA.
    Einiges kann ich über userform abwickeln, neue Einträge und aktualisierung der Daten. Nun kommt das eben mit der Mailversendung.
     
  6. Genau mein Gedanke *wink.gif*

    Wenn ich am Tag mehrmals wegen der gleichen Sache eine Mail bekommen würde, dann würde sich ziemlich schnell das LMAA Gefühl bei mir breit machen und der Absender im Junk-Mail Ordner landen. *wink.gif*

    Deshalb wirklich nochmals der Gedankenanstoß, füg dir eine Zusatzspalte ein, in der du das Datum des letzten Versendens der E-Mail mitschreibst ein. Diese wird dann ebenfalls mit ausgewertet und wenn dieses Datum z.B. einen Tag, oder auch zwei, drei in der Vergangenheit liegt, dann bekommt der Verantwortliche eine neue Mail.

    Zu deiner Frage mit dem Display, ja klar kann man machen, aber da erkenne ich den Sinn dahinter nicht wirklich. Wenn du mit Display arbeiten willst, müsstest du jede E-Mail einzeln von Hand versenden, dass würde mir selbst schon wieder auf den Keks gehen *wink.gif*
    Deshalb mach ich ja die automatische Lösung, um mir die Arbeit zu erleichtern *grins

    Aber das ist dann ja nur noch eine kleine Änderung im Code.

    Achso ja, wenn du eh schon eine Demodatei erstellst, dann bitte unbedingt darauf achten, dass diese mit der Originaldatei übereinstimmt. Nur so am Rande *wink.gif*
     
    Manuel352, 19. September 2018
    #6
  7. Ich werde die gleiche Datei versenden nur mit anderen Beispielsdaten. Aber bitte nicht über die Codes schmunzeln oder lachen - ich bin halt Neuling in VBA
     
  8. Versenden E-Mail aus Excel Liste via VBA & Outlook

    Hier nun meine Beispieldatei neue Zeilen werden über den Button links oben erzeugt, Änderungen über Doppelklick in Spalte A der jeweiligen Zeile. Es öffnen sich userforms.
     
  9. Hallo Steffen,

    hier habe ich mich mal daran versucht.

    Ich habe es jetzt so Programmiert, dass beim Öffnen der Datei der Benutzername ausgelesen wird und mit deinem "squeck" verglichen wird. Stimmt das überein, geht er in die Schleife rein und fängt an zu prüfen.

    Die Mail Adressen werden aus dem Extra Tabellenblatt genommen, somit kannst du immer weitere hinzufügen.

    Für deine ersten Tests habe ich es als normales Makro in This Workbook hinterlegt. Sobald alles passt und seine Richtigkeit hat, muss du die erste Zeile "Private Sub Workbook_Open()" entkommentieren, damit diese greift.

    Schau es dir einfach mal an und sag was du davon hältst.

    Ps. Ich habe den Rest nur kurz überflogen und festgestellt, dass du die Werte der Comboboxen über extra Blätter in diese lädts, das kannst du auch im Code hinterlegen, damit du nicht so viele Blätter in deiner Datei hast, nur mal so als Gedankenanstoß *wink.gif*

    Gruß Manuel
     
    Manuel352, 20. September 2018
    #9
  10. Hallo Manuel,

    es klappt soweit schon recht gut, nur wenn ich mehrere Einträge als open über den Termin hinaus habe, werden die Verantwortlichen bzw. Stellvertreter vom 1. überrannten Termin in die 2. Mail übernommen. Subjekt und Grund übernimmt die 2. Mail richtig. Die Programmierung scheint mir schlüssig. siehe bilde
     
  11. Hallo Steffen,

    sorry, aber daran hab ich im Eifer des Gefechts nicht gedacht.

    Und ich weiß auch schon woran es liegt. Nachdem einmal eine Mailadresse für den Verantwortlichen und den Stellvertreter den Variablen übergeben wurden, springt der Code nicht in die Schleife zu suchen der Mailadresse.

    Du musst noch diese beiden Zeilen einfügen.

    Code:
    Hiermit wird die Variable wieder geleert und somit springt der Code dann auch in die Schleife zum suchen der richtigen Mailadresse.

    Am besten packst du das ganze an der Stelle rein:

    Code:
    Die beiden Zeilen müssen jedenfalls vor der For Schleife für die Mailadresse rein.

    Ich pack dir die Datei auch nochmals in den Anhang, dann kannst du dir aussuchen ob du nur die beiden Zeilen hinzufügst oder ob du den kompletten Code nochmals kopierst.

    Teste mal und sag bescheid sobald nochmal was auftritt.

    Gruß Manuel
     
    Manuel352, 20. September 2018
    #11
  12. Vielen vielen Dank, nun funktioniert es.

    Schönes Wochenende.
     
  13. Versenden E-Mail aus Excel Liste via VBA & Outlook

    Das freut mich *wink.gif*

    Dann doch bitte den Eintrag als erledigt markieren und vielleicht ne Bewertung da lassen *tongue.gif* *cool.gif*

    Dir auch ein schönes Wochenende
     
    Manuel352, 20. September 2018
    #13
  14. Hallo Leute!

    Ich habe ein ähnliches Vorhaben und hänge mich hier mal mit an.

    Vorab zur Info - Ich bin, was VBA-betrifft, ziemlich unwissend. ;-)
    Ich weiß zwar wie ich das VBA-Fenster in Excel über die Entwicklertools starte, aber das wars dann auch ziemlich! ;-)


    Meine Office-Version - Office 365

    Mein Vorhaben / Idee.

    ----------

    Ich habe eine Excelliste für unsere Vereinsmitglieder.
    Die Liste ist aufgeteilt in Spalten
    (z.B. Mitgliedsnr, Name, Vorname, Anschrift, Emailadresse, Telefonnr, Eintrittsdatum, usw.)
    Jeder Datensatz jedes Mitglieds befindet sich natürlich in einer Zeile.

    Nun würde ich gerne einen "Schalter / Button" in diese Exceldatei integrieren, über den eine automatische Email in Outlook generiert wird, die folgendermaßen aussehen sollte.

    ----------

    Emailempfänger: Emailadresse aus Zelle
    Kopieempfänger: vorstand@verein.de
    Emailbetreff: Mitgliedsinformation "Mitgliedsnr. aus Zelle" - "Name aus Zelle" - "Vorname aus Zelle" - "Eintrittsdatum aus Zelle"

    Emailtext:

    Sehr geehrtes Mitglied,

    anbei ....... usw.


    Tabelle mit folgendem Inhalt: (gerne auch in HTML)

    Name: "Name aus Zelle"
    Vorname: "Vorname aus Zelle"
    Mitgliedsnr.: "Mitgliedsnr. aus Zelle"
    Eintrittsdatum: "Eintrittsdatum aus Zelle"
    Telefonnr.: "Telefonnr. aus Zelle"
    Anschrift: "Anschrift aus Zelle"
    usw.

    Mit freundlichen Grüßen
    XXX


    -----------

    Die Email soll via Knopfdruck generiert werden, und zwar genau mit dem Datensatz, in dem sich gerade der Mauszeiger befindet, bzw. in der aktuell eine Zelle ausgewählt ist.

    Die Email soll zwar generiert, aber noch nicht automatisch und selbständig verschickt werden. Ich möchte den Inhalt der Email nochmal kontrollieren können und die Möglichkeit haben die Email ggfs. nochmal mit weiteren Infos oder Emailempfängern nachträglich ergänzen zu können.



    Ich hoffe ich konnte meine "Idee / Vorhaben" einigermaßen verständlich ausdrücken und würde mich über Tipps sehr freuen.

    Schöne Grüße
    Office-Sigi
     
    Office-Sigi, 26. September 2018
    #14
  15. Hallo Leute!

    Mein Vorhaben ist zwar sehr ähnlich wie das des Threadstarters, aber vlt. doch etwas spezieller.

    Deshalb werde ich mein Vorhaben in einem neuen Thread eröffnen.
    Dann kann mein Thread hier eigentlich gelöscht werden.

    Schöne Grüße
     
    Office-Sigi, 30. September 2018
    #15
Thema:

Versenden E-Mail aus Excel Liste via VBA & Outlook

Die Seite wird geladen...
  1. Versenden E-Mail aus Excel Liste via VBA & Outlook - Similar Threads - Versenden Mail Excel

  2. Mail aus Excel versenden. Feststellen, ob der Versand userseitig abgebrochen wurde

    in Microsoft Excel Hilfe
    Mail aus Excel versenden. Feststellen, ob der Versand userseitig abgebrochen wurde: Moin zusammen. Mit Code: Dim appOutlook As Outlook.Application Dim mail As Outlook.MailItem Set appOutlook = CreateObject("Outlook.Application") Set mail = appOutlook.CreateItem(olMailItem)...
  3. E-Mail aus Excel mit Knopfdruck versenden

    in Microsoft Excel Hilfe
    E-Mail aus Excel mit Knopfdruck versenden: Hallo zusammen hier wohl wieder eine leichte Fragestellung meinerseits: in einem Excel möchte ich einen Knopf erstellen, der von der drückenden Person eine Mail an eine gewisse Mailadresse...
  4. aus Excel Mail versenden mit mehreren Anhängen

    in Microsoft Excel Hilfe
    aus Excel Mail versenden mit mehreren Anhängen: Guten Abend in die Runde, ich habe hier ein Makro, das eine Mail pro Empfänger mit einem Anhang erstellt. Nun kann es sein, dass der Empfänger mal eine Datei bekommt, manchmal 3,4 oder gar keine....
  5. E-Mail versenden an mehrere Empfänger aus Excel-Datei

    in Microsoft Access Hilfe
    E-Mail versenden an mehrere Empfänger aus Excel-Datei: Hallo zusammen, ich habe folgendes Problem. ich möchte in eine Access-Anwendung eine E-Mail Funktion einbauen. In der Excel-Datei habe ich mehrere Empfänger, jedem Empfänger sind eine oder...
  6. Excel-Zellen per Mail versenden

    in Microsoft Excel Hilfe
    Excel-Zellen per Mail versenden: Hallo, ich hab mich hier gerade frisch angemeldet. Danke dass ich hier mitlesen und lernen kann! Ich hab ein Anliegen mit dem ich alleine nicht mehr weiter komme, und zwar folgendes: Ich...
  7. Excel Mail versenden

    in Microsoft Excel Hilfe
    Excel Mail versenden: Guten Abend Zusammen, ich habe ein kleines Problem: Bei einem Status den ich jeden tag versenden muss hab ich dies via VBA geschafft. Allerdings sendet er meine "Ampel" nicht mit und diese...
  8. Frage: Terminplanung aus Excel - Termine in outlook automatisiert versenden?

    in Microsoft Excel Hilfe
    Frage: Terminplanung aus Excel - Termine in outlook automatisiert versenden?: Hallo an alle, regelmäßig muß ich eine ziemlich umfangreiche Terminplanung erstellen und nutze dabei Excel. Die Datei ist so aufgebaut: <tbody> Name email Datum1 Datum2 Aa aa@test.de j n Bb...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden