Office: eMail-Versand / alle Zeilen einer Tabelle

Helfe beim Thema eMail-Versand / alle Zeilen einer Tabelle in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich benötige Hilfe für ein Excel-/VBA-Problem, da ich kein Programmierer bin. Ich habe eine Aktivitätenliste für verschiedene Personen.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von skipper, 9. November 2010.

  1. skipper Erfahrener User

    eMail-Versand / alle Zeilen einer Tabelle


    Hallo,

    ich benötige Hilfe für ein Excel-/VBA-Problem, da ich kein Programmierer bin.

    Ich habe eine Aktivitätenliste für verschiedene Personen. Die Spalten sind typisch für eine solche Liste (Datum, Aktivität, wer ist verantwortlich, Status, Termin etc.). Eine zusätzliche Spalte enthält die eMail-Adresse des Verantwortlichen.
    Nun möchte ich als Erinnerung jede Aktivitätenzeile an den jeweiligen Verantwortlichen per eMail verschicken.
    Eine Lösung für das Verschicken von eMails aus einer selektierten Zeile habe ich. Hier hatte mir Userin Beverly (Karin) aus diesem Forum vor einiger Zeit geholfen (danke nochmals dafür).
    Jetzt bräuchte ich die Änderung/Ergänzung, dass die Zeilen nicht selektiert werden müssen und dass alle Zeilen (mit gefüllter eMail-Adresse) in einem Loop als einzelne Mails verschickt werden.

    Kann mir jemand helfen ?

    Danke und Gruss
    skipper
     
    skipper, 9. November 2010
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    es wäre hilfreich, wenn du den Code hier mal posten würdest, dann könnte man ihn ausbauen - ich habe nicht mehr alles im Gedächtnis, was ich irgendwann mal irgendwo gepostet habe. :roll: :-)

    Eine Beispielmappe mit ein paar Dummydaten wäre auch nicht schlecht.

    Bis später,
    Karin
     
    Beverly, 9. November 2010
    #2
  3. skipper Erfahrener User
    Hallo Karin,

    ich hab die Tabelle angehängt. Dein damaliger Code ist ja dabei.
    Noch folgende Info.
    Empfänger soll aus Spalte "eMail" gefüllt werden. Dort wird dann eine richtige eMail-Adr. enthalten sein.
    Betreff wird aus "Aktivität" ergänzt.
    Pro Zeile soll ein Mail erstellt werden (ggf. mit späterem autom. Versand). Im Moment mal mit Anzeige vorher.

    Hoffe Du kommst mit meinen Angaben klar

    Gruss
    skipper
     
    skipper, 9. November 2010
    #3
  4. Beverly
    Beverly Erfahrener User

    eMail-Versand / alle Zeilen einer Tabelle

    Hi,

    ich bezweifle, dass die Makros von mir sind, eher sieht es mir so aus, als dass ich da Code an ein bereits bei dir vorhandenes Makro angepasst habe (wahrscheinlich aus dem Beispiel von meiner HP, welches mir freundlicherweise von Rene Holtz zur Verfügung gestellt wurde). In der Funktion RangeToHTML fehlt übrigens der Autorenhinweis von Ron de Bruin - aus Fairnessgründen sollte man derartige Hinweise schon im Code belassen.

    Nun zu deinem Anliegen: versuche es mit folgendem Code
    Code:
    Sub Mail()
        Dim obNachricht As Object
        Dim obMail As Object
        Dim loLetzte As Long
        Dim loZeile As Long
        Set obMail = CreateObject("Outlook.Application")
        For loZeile = 6 To IIf(IsEmpty(Cells(Rows.Count, 2)), Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count)
            Set obNachricht = obMail.CreateItem(0)
            With obNachricht
                .To = Cells(loZeile, 7)
                .Subject = "offenes TODO: '" & (Cells(loZeile, 5).Value) & "'"
                .htmlbody = RangetoHTML(Range(Cells(loZeile, 2), Cells(loZeile, 4))) '<== Bereich anpassen
                .ReadReceiptRequested = False
                .display    ' nur Anzeige
                ' .send      ' gleich abschicken
            End With
            Set obNachricht = Nothing
            Application.Wait Now + TimeValue("00:00:02")
        Next loZeile
        Set obMail = Nothing
    End Sub
    
    Bis später,
    Karin
     
    Beverly, 9. November 2010
    #4
  5. skipper Erfahrener User
    Hi Karin,

    Dein angepasster VB-Code funktioniert perfekt.
    Den Hinweis auf Ron DeBruin hab ich wieder eingefügt.
    Hatte ihn damals wg. der Übersichtlichkeit rausgenommen.

    Danke vielmals.

    Gruss
    skipper
     
    skipper, 9. November 2010
    #5
  6. jagga007 Erfahrener User
    Hallo Karin,

    da ich momentan ebenfalls ein Script suche, mit dem ich ein Tabellenblatt per e-Mail versenden kann bin auf diese Seite gestoßen.

    Nur würde ich gerne ein Tabellenblatt versenden in nur Text steht und wenn das e-Mail Programm geöffnet wird, daß mir der ausgewählte Bereich noch mal angezeit wird.

    Wie kann ich dein Script so modifizieren, daß das funktioniert?

    Wäre Super.

    Gruß Rudolf
     
    jagga007, 4. April 2011
    #6
  7. Beverly
    Beverly Erfahrener User
    Hi Rudolf,

    so ganz klar komme ich mit deiner Fragestellung nicht. Der Code zeigt doch die umgewandelte Tabelle im Mailbody an.

    Bis später,
    Karin
     
    Beverly, 4. April 2011
    #7
  8. jagga007 Erfahrener User

    eMail-Versand / alle Zeilen einer Tabelle

    Hallo Karin,

    war vermutlich mein Fehler. Brachte hier etwas ein wenig durcheinander. Entschuldige, sollte ich doch noch eine Frage haben würde ich mich dann gerne nochmal melden.


    Gruß Rudolf
     
    jagga007, 6. April 2011
    #8
  9. jagga007 Erfahrener User
    Hallo Karin,

    ich hätte jetzt doch eine bitte an dich. In Deinem Beispiel, ToDo-Liste.xls
    wird die Tabelle "Variablen" als E-Mail gesendet aber es wird nur der Teil Anrede in der E-Mail gezeigt und der Rest des Befehls

    Code:
            .htmlbody = RangetoHTML(MailPage).Range("A2") & _
                RangetoHTML(rng) & _
                RangetoHTML(MailPage).Range("A6")
    
    rng und Range 6 nicht warum?

    Es sind auch viele Befehle die ich nicht ganz verstehe. Ich hoffe ich verlange nicht zuviel aber könntest du bitte die einzelnen Befehle ein bisschen Dokumentieren um Sie nachvollziehen zu können. Bitte.

    Wäre Toll wenn du mir da helfen könntest.

    Gruß Rudolf
     
    jagga007, 16. April 2011
    #9
  10. Beverly
    Beverly Erfahrener User
    Hi Rudolf,

    in deinem hochgeladenen Beispiel steht dieser Code:
    Code:
            .htmlbody = RangetoHTML(ThisWorkbook.Worksheets("Variablen").Range("A2")) & _
                RangetoHTML(rng) & _
                RangetoHTML(ThisWorkbook.Worksheets("Variablen").Range("A6"))
    
    Vergleiche die Klammernsetzung mit der in dem Code aus deinem letzten Beitrag. Es muss nach folgendem Prinzip verfahren werden
    Code:
    RangetoHTML(Tabelle+Zellbereich) & _
        RangetoHTML(rng) & _
        RangetoHTML(Tabelle+Zellbereich)
    
    Der Tabellename muss übrigens nur davor geschrieben werden, wenn es nicht die aktvie Tabelle ist.

    Bis später,
    Karin
     
    Beverly, 1. Mai 2011
    #10
  11. jagga007 Erfahrener User
    Hallo Karin,

    das mit der Tabelle, ist schon ok. Hab sie nur vorher schon definiert, damit die Zeile nicht so lang wird.

    Das was ich meinte ist, warum "mit freundlichen Grüßen" nicht in der Voransicht vor dem Senden in Outlook angezeigt wird. Obwohl die Grußformel in der Befehlskette mit angegeben ist. Wenn die Mail empfangen wird ist die Grußformel aber schon da warum nicht in der Voransicht?

    Und warum hast du dann an zweiter Stelle den Code "RangetoHTML(rng)" wenn nichts drin steht?

    Bis dann

    Rudolf
     
    jagga007, 3. Mai 2011
    #11
  12. Beverly
    Beverly Erfahrener User
    Hi Rudolf,

    wie ich schon geschrieben habe - deine Klammernsetzung ist falsch. Nicht

    RangetoHTML(MailPage).Range("A2")

    sondern

    RangetoHTML(MailPage.Range("A2"))

    Bei rng muss keine Tabelle davor stehen, weil sich rng auf Selection (also den selektierten Bereich im gerade aktiven Tabellenblatt) bezieht.

    Bis später,
    karin
     
    Beverly, 3. Mai 2011
    #12
  13. jagga007 Erfahrener User

    eMail-Versand / alle Zeilen einer Tabelle

    Hallo Karin,

    ich hoffe ich entwickle mich nicht zur Nervensäge, aber auch die Klammernsetzung hatt nichts gebracht. Es wird nach wie vor in der Voransicht in Outlook vor dem Senden kein "mit freundlichen Grüßen angezeigt.

    Das vor Deinem rng keine Tabelle stehen muß weiß ich und das nichts drin steht weiß ich auch. Vieleicht hab ich mich falsch ausgedrückt. Ich wollte nur wissen warum, denn du hättest ja 100 Bereiche oder Tabellen davor setzen können die keinen Inhalt haben. Der Sinn und die Logik die dahinter steht leuchtet mir nicht ein.

    Wird bei Dir in der Voransicht vorm Senden die Grußformel angezeigt?


    Gruß Rudi
     
    jagga007, 3. Mai 2011
    #13
  14. Beverly
    Beverly Erfahrener User
    Hi Rudi,

    was meinst du mit "welcher Sinn und Logik die dahinter steht"?

    Der Code setzt den html-Body aus mehreren Teilen zusammen, die über die Funktion RangetoHTML(Tabelle+Bereich) erstellt und hintereinander angefügt werden.

    Wenn es in deiner Arbeitsmappe nicht funktionert, dann solltest du sie vielleicht mal hochladen.

    Bis später,
    Karin
     
    Beverly, 3. Mai 2011
    #14
  15. jagga007 Erfahrener User
    Hallo Karin,

    Deine Function RangetoHTML(rng As Range) ist ja der ToDo-Liste.xls vorhanden diese müßte doch reichen, oder muß diese noch angepasst werden.

    Soweit funktioniert ja alles toll nur in der Display voransicht in Outlook wird nur der erste Teil "Anrede" gezeigt und die Grußformel fehlt trotz der funktion.

    Wenn ich die mail sende und empfange ist sonderbar die Grußformel auch zu sehen nur in der Voransicht nicht.

    Hab mal ein jpg mitgeschickt. Das du siehst, das "Mit freundlichen Grüßen fehlt.

    Danke für die Intresse mir helfen zu wollen.


    Gruß Rudolf
     
    jagga007, 8. Mai 2011
    #15
Thema:

eMail-Versand / alle Zeilen einer Tabelle

Die Seite wird geladen...
  1. eMail-Versand / alle Zeilen einer Tabelle - Similar Threads - eMail Versand Zeilen

  2. eMail Versand + unterschiedliche Mailkonten

    in Microsoft Access Hilfe
    eMail Versand + unterschiedliche Mailkonten: Ich versende eMials per VBA über mein Outlook, was auch gut funktioniert. Störend ist eigentlich nur, dass immer über die Standartadresse versendet wird (im Auftrag). Jetzt hatte ich ein Thema...
  3. Email-Versand aus Access mit Einbinden der Untertabelle in den Email-Text

    in Microsoft Access Hilfe
    Email-Versand aus Access mit Einbinden der Untertabelle in den Email-Text: Hallo, ich möchte aus einer Datenbank Emails versenden, die nicht nur den Inhalt von Textfeldern in der Email automatisch übernimmt, sondern auch noch eine im Formular eingebundene Untertabelle....
  4. ausgehende E-Mail an eine Adresse kommt immer ohne Fehlermeld. in Posteingang zurück

    in Microsoft Outlook Hilfe
    ausgehende E-Mail an eine Adresse kommt immer ohne Fehlermeld. in Posteingang zurück: Hallo, ich habe folgende Problem: Der Email versand an eine bestimmte Adresse über Outlook funktioniert nicht. Die Mails an diese Adresse kommen immer wieder ohne Fehlermeldung in den...
  5. Email automatisch aus Excel erstellen

    in Microsoft Excel Hilfe
    Email automatisch aus Excel erstellen: Hallo Mitstreiter, ich habe mal wieder ein Problem. Ich habe eine Excel-Datei, aus der über ein Botton ein CSV-Datei erzeugt wird und in ein Übergabeverzeichnis abgelegt wird. Aus dem...
  6. Outlook 2013 - bleibt manchmal bei Abholen oder Senden stehen

    in Microsoft Outlook Hilfe
    Outlook 2013 - bleibt manchmal bei Abholen oder Senden stehen: Hallo Zusammen, vorab stelle ich mich ganz kurz vor: ich arbeite in einem kleinen Betrieb mit 4 Mitarbeitern als EDV/IT-Betreuer für kleine Firmen und Vereine, unser Hauptgeschäft ist...
  7. Zwischenspeicher der Entwürfe / wechsle des Standardkontos für Email Versand

    in Microsoft Outlook Hilfe
    Zwischenspeicher der Entwürfe / wechsle des Standardkontos für Email Versand: habe hier ein Office 2007 mit OL es ist ein Exchange Postfach / 3 Email Adressen bei Strato und 1 Gmail Konto angelegt Die Mails werden per pop3 geholt da die Nachverfolgungsfunktion der...
  8. eMail-Synchronisation endet nicht und Probleme mit Versand

    in Microsoft Outlook Hilfe
    eMail-Synchronisation endet nicht und Probleme mit Versand: Moin Moin! Mein erstes Problem mit Outlook. Wenn ich Outlook starte und eMails abrufe, ruft er alle eMails ab, aber in der unteren Leiste steht immer z.B. "Empfange Nachricht 20 von 20 (xy...