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

Forumthread: Ausgewählte Zeile per Email versenden

Ausgewählte Zeile per Email versenden
21.08.2017 13:32:26
Ruhnke
Hallo @all,
habe mal wieder ein kleines Excel Problem und zwar habe ich eine Kundentabelle. Daten stehen ab Zeile von A4 bis K201. Die Email Adressen jeweils in den Zellen am Ende Spalte "O".
Es soll aber nur immer nur eine bestimmte Zeile verschickt werden bzw. deren Daten benutzt werden um ein Text zu schreiben in einer Email.
Also schön wäre es per Checkbox oder Markierung Zeile und dann per Button eine Email an die Adresse aus O zu schreiben. Zwei Emailadressen bleiben (Kopie) bleiben immer gleich.
Danke schon mal im Voraus
Dirk
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgewählte Zeile per Email versenden
21.08.2017 13:46:52
Michael
Hallo Dirk1
Es soll aber nur immer nur eine bestimmte Zeile verschickt werden bzw. deren Daten benutzt werden um ein Text zu schreiben in einer Email.
Wie sollen die Zeilen-Werte/Daten in die Email übernommen werden? Können die einzelnen Zell-Werte einfach gesammelt werden, ggf. mit einem Trennzeichen (zB Zelle1|Zelle2|Zelle3), und damit quasi als Fließtext übernommen werden, oder soll der Zeilen-Bereich als Bild eingefügt werden?
LG
Michael
Anzeige
AW: Ausgewählte Zeile per Email versenden
21.08.2017 14:05:05
Ruhnke
Hallo Michael,
vielen Dank für die schnelle Antwort! Zell-Werte können gesammelt werden und quasi als Fließtext übernommen werden.
Gruß
Dirk
Beispiel für Dich...
21.08.2017 14:47:13
Michael
...hier, Infos stehen im Blatt1 sowie als Kommentare im Code: https://www.herber.de/bbs/user/115611.xlsm
Kommst Du damit hin?
LG
Michael
Anzeige
AW: Beispiel für Dich...
21.08.2017 15:06:32
Ruhnke
Hallo Michael,
die Idee sieht schon mal gut aus!!
Also Outlook öffnet Email Adresse wird übernommen aber keine Zell-Daten von A:K der jeweiligen Zeile im Text.
Dirk
Das kann ich so nicht nachvollziehen, denn...
21.08.2017 16:44:24
Michael
Dirk,
...rein auf meine Bsp-Datei bezogen; da funktioniert das sehr wohl so, wie von mir angegeben. Beispielsweise bewirkt ein ReKlick in Zelle O6 meiner (!) Datei Folgendes (soll heißen mein Bsp-Code ist von mir erfolgreich getestet):
Userbild
Solltest Du den Code mit Deiner Original-Datei getestet haben, kann es natürlich zu abweichenden Ergebnissen kommen, auf die ich (in Unkenntnis Deiner Verhältnisse) so noch nicht eingehen kann. Beachte auch, dass nicht nur der Code in Modul1 erforderlich ist, sondern auch der Code im Modul des entsprechenden Tabellenblattes!
Um Dir konkreter zu helfen, muss ich Deine Bedingungen kennen!
LG
Michael
Anzeige
AW: Das kann ich so nicht nachvollziehen, denn...
22.08.2017 07:49:46
Dirk
Hallo Michael,
wer lesen kann ist klar im Vorteil :-) (Rechtsklick)
Funktioniert super...kann man eventuell dieses noch ein wenig verfeinern und zwar:
Wenn man mit Rechtsklick die Email verschickt hat z.B. "Email versendet" in der Spalte Q ausgegeben wird?
Dirk
Na also...
22.08.2017 10:39:49
Michael
Dirk,
...geht doch ;-) - aber man kann schon mal was übersehen.
Bzgl. Wenn man mit Rechtsklick die Email verschickt hat z.B. "Email versendet" in der Spalte Q ausgegeben wird
Es ist kein Problem, in Spalte Q den Text "Email versendet" auszugeben, sobald ein ReKlick in Spalte O ausgeführt wird, ABER das hat keinerlei "Verknüpfung" zum tatsächlichen Versand-Status der Email. In meinem Beispiel-Code wird die Email ja zunächst nur erzeugt und angezeigt, aber nicht versendet; in diesem Fall steht bereits "Email versendet" in Spalte Q, auch dann, wenn die erzeugte Email ohne Senden geschlossen wird.
Solltest Du in meinem Beispiel-Code die Variante wählen, die Email direkt zu versenden (.Send statt .Display, ist im Code gekennzeichnet), wird auch unmittelbar "Email versendet" in Spalte Q eingetragen - allerdings musst Du Dir auch hier bewusst sein, dass es Varianten gibt, in denen die Email nicht gesendet werden kann; diese Rückmeldung von Outlook an Excel bleibt aber natürlich aus, sodass es eben zu falsch positiven "Email versendet"-Meldungen kommen kann.
Hier die ergänzte Beispiel-Mappe, mit der Eintragung in Spalte Q: https://www.herber.de/bbs/user/115627.xlsm
LG
Michael
Anzeige
AW: Na also...
22.08.2017 11:27:14
Dirk
Danke
Gern! owT
22.08.2017 12:50:30
Michael
AW: Gern! owT
25.08.2017 13:28:56
Dirk
Hallo,
hallo Michael,
nochmal zusammen...habe den Code wunderbar in meiner Datei einbauen können.
Leider öffnet die neue Email ohne Signatur, da die Datei nicht nur von mir genutzt wird, kann keine Standard Signatur benutzt werden.
Gibt es die Möglichkeit die hinterlegte Signatur mit einen Code Schnipsel zu ergänzen!
Vielen Dank im voraus
Dirk
Anzeige
Ergänzung und Bitte
25.08.2017 14:05:01
Michael
Hallo Dirk!
In einem Faden, der eigentlich abgeschlossen ist, wäre es hilfreich, bei einer Anschlussfrage zumindest den Betreff zu ändern - oder gleich einen neuen Faden aufzumachen.
Zu Deiner Frage: Ja, das ist grds. möglich, in unterschiedlichen Aufwands-Stufen ;-). Die einfachste Möglichkeit ist, wenn jeder Nutzer der Datei/des Codes in Outlook neue Nachrichten standardmäßig mit Signatur erstellen lässt - sodass bei Erstellen einer neuen Nachricht die Signatur bereits im Mail-Text durch Outlook eingefügt wird.
Wenn diese Voraussetzung gegeben ist, klappt das mit geringfügiger Änderung im Code so (wieder auf Basis meiner Beispieldatei): https://www.herber.de/bbs/user/115764.xlsm
Zu Testzwecken werden die Mails aus meiner Bsp-Datei nicht automatisch versendet; für eine produktive Version der Datei/des Codes, und beim Wunsch die Emails auch wirklich direkt zu senden (ohne zus. manuelle Eingaben etc.), dann bitte diese Zeile wieder aktiv setzen (aktuell auskommentiert):
'.Send 'Email direkt senden, sonst manuell
Passt?
LG
Michael
Anzeige
AW: Ergänzung und Bitte
25.08.2017 19:03:13
Dirk
Hallo Michael,
passt wunderbar.....so soll sein...so ist es fein! Achte nächstes mal auf den Titel...versprochen !!!
Danke nochmal
DIRK
Super, freut mich! Danke für die Rückmeldung, owT
26.08.2017 00:04:30
Michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Ausgewählte Zeile per Email versenden


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Stelle sicher, dass du eine Excel-Tabelle mit den Kundendaten hast, wobei die E-Mail-Adressen in Spalte "O" stehen. Die Daten sollten von Zeile 4 bis 201 in den Spalten A bis K angeordnet sein.

  2. VBA-Editor öffnen: Gehe zu Entwicklertools > Visual Basic, um den VBA-Editor zu öffnen.

  3. Modul erstellen: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.

  4. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub EmailVersenden()
       Dim OutlookApp As Object
       Dim Mail As Object
       Dim Zeile As Integer
       Dim Empfaenger As String
       Dim Nachricht As String
    
       Zeile = ActiveCell.Row ' Aktive Zeile bestimmen
       Empfaenger = Cells(Zeile, "O").Value ' E-Mail-Adresse aus Spalte O
    
       ' Zellwerte sammeln
       Nachricht = Cells(Zeile, "A").Value & vbCrLf & _
                   Cells(Zeile, "B").Value & vbCrLf & _
                   Cells(Zeile, "C").Value ' usw. bis K
    
       ' Outlook öffnen und E-Mail erstellen
       Set OutlookApp = CreateObject("Outlook.Application")
       Set Mail = OutlookApp.CreateItem(0)
    
       With Mail
           .To = Empfaenger
           .Subject = "Betreff der E-Mail"
           .Body = Nachricht
           .Display ' .Send verwenden, um direkt zu senden
       End With
    End Sub
  5. Button erstellen: Gehe zurück zu Excel, füge einen Button ein (Entwicklertools > Einfügen > Button (Formsteuerelement)) und weise ihm das Makro EmailVersenden zu.

  6. E-Mail versenden: Wähle eine Zeile aus, klicke auf den Button, um die E-Mail zu erstellen.


Häufige Fehler und Lösungen

  • Problem: E-Mail-Daten werden nicht in der Nachricht angezeigt.

    • Lösung: Überprüfe, ob der Code die korrekten Zellwerte abruft. Stelle sicher, dass du die Zeilen und Spalten korrekt angibst.
  • Problem: Outlook öffnet sich, aber die E-Mail wird nicht gesendet.

    • Lösung: Stelle sicher, dass du .Display durch .Send ersetzt, um die E-Mail direkt zu senden.

Alternative Methoden

  • Verwendung von Excel-Add-Ins: Es gibt verschiedene Add-Ins, die das automatische Versenden von E-Mails aus Excel erleichtern, wie z.B. Mail Merge oder Power Automate.

  • Makro für mehrere Zeilen: Du kannst den Code anpassen, um mehrere Zeilen auf einmal zu versenden, indem du eine Schleife verwendest.


Praktische Beispiele

  • Beispiel für den E-Mail-Text:

    Nachricht = "Kundendaten:" & vbCrLf & _
              "Name: " & Cells(Zeile, "A").Value & vbCrLf & _
              "Adresse: " & Cells(Zeile, "B").Value & vbCrLf & _
              "Telefon: " & Cells(Zeile, "C").Value
  • Beispiel für das Hinzufügen einer Signatur: Wenn du eine Signatur einfügen möchtest, kannst du die Body-Eigenschaft wie folgt anpassen:

    .Body = Nachricht & vbCrLf & "Mit freundlichen Grüßen," & vbCrLf & "Dein Name"

Tipps für Profis

  • Automatisierung erweitern: Du kannst das Skript erweitern, um automatisch E-Mails an alle Empfänger in der Tabelle zu senden.

  • Fehlerbehandlung einbauen: Füge eine Fehlerbehandlung hinzu, um die Benutzerfreundlichkeit zu erhöhen:

    On Error Resume Next
    ' Dein Code hier
    If Err.Number <> 0 Then
      MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
    End If

FAQ: Häufige Fragen

1. Frage Wie kann ich sicherstellen, dass die E-Mail immer mit einer Signatur versehen wird?

Antwort Du kannst die Signatur entweder direkt im Code hinzufügen oder sicherstellen, dass Outlook so konfiguriert ist, dass es die Signatur automatisch einfügt, wenn eine neue E-Mail erstellt wird.

2. Frage Kann ich auch E-Mails an mehrere Empfänger gleichzeitig senden?

Antwort Ja, du kannst die E-Mail-Adresse in der To-Eigenschaft durch Kommas getrennt angeben, um an mehrere Empfänger zu senden: .To = "email1@example.com, email2@example.com".

3. Frage Was mache ich, wenn ich keine Entwicklertools in Excel sehe?

Antwort Aktiviere die Entwicklertools, indem du zu Datei > Optionen > Menüband anpassen gehst und das Kästchen für Entwicklertools aktivierst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige