Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Email aus Excel an Empfänger in jeweiliger Zeile

Email aus Excel an Empfänger in jeweiliger Zeile
01.06.2017 15:31:55
Patrick
Moin moin,
ich habe folgendes vor: Ich habe eine Spalte für die Emailadresse, eine Spalte für den Betreff und eine Spalte für den Email Text. Nun gibt es dort mehrere Zeilen mit verschiedenen Datensätzen. Am Ende jeder Zeile mit einem Datensatz ist eine Zelle auf welche man drückt und im Anschluss öffnet sich Outlook und schickt demjenigen, der in der jeweiligen Zeile steht die entsprechende Nachricht.
Ich probiere schon einige Zeit herum, aber es klappt nicht.
Ist so etwas in VBA realisierbar?
Vielleicht hat ja jemand einen Tipp. Das wäre klasse!
Hier noch ein kleines Bild.
Userbild
Viele Grüße
Patrick
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email aus Excel an Empfänger in jeweiliger Zeile
01.06.2017 15:40:14
Carsten
Einfach ne Schaltfläche dahin legen und die dann mit dem Inhalt füllen.
Dim MyOutApp As Object, MyMessage As Object
For i = 1 To 6
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = Cells(i, 1)
.Subject = Cells(i, 2)
.Body = Cells(i, 3)
.CC = ""
.BCC = ""
.Send
On Error Resume Next
End With
On Error Resume Next
Set MyOutApp = Nothing 'CreateObject("Outlook.Application")
Set MyMessage = Nothing 'MyOutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:03"))
Next i
On Error Resume Next
Application.ErrorCheckingOptions.BackgroundChecking = False

Anzeige
AW: Email aus Excel an Empfänger in jeweiliger Zeile
01.06.2017 15:50:16
Patrick
Moin Carsten,
danke für deine schnelle Antwort.
Da ist das Problem, dass ich die jeweiligen Datensätze automatisch über ein Formular erzeuge und unten anhänge. Dann müsste ich auch jedesmal einen neue Schaltfläche erstellen. Ich würde das gerne mit Druck in eine Zelle realisieren. Außerdem sendet dein Code ja die Emails an alle hintereinander. Es sollte, wenn möglich, immer nur an denjenigen eine Mail gehen, in dessen Zeile ich getippt habe.
Viele Grüße
Patrick
Anzeige
AW: Email aus Excel an Empfänger in jeweiliger Zeile
01.06.2017 16:15:40
Carsten
Das musst du einfügen in die Mircrosoft Excel Objekte dann bei der Tabelle in der die Werte stehen dann wird die Mail an den empfänger der Zeile gesendet wo du doppelkick in die Spalte 6 machst. :) sry bin selber kein vba Profi aber versuche zu helfen :D
Kannst ja da immer son LOS wie du im Bild hast einfügen lassen in Spalte 6

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim MyOutApp As Object, MyMessage As Object
Dim i As Long
If Target.Row 

Anzeige
AW: Email aus Excel an Empfänger in jeweiliger Zeile
02.06.2017 07:38:45
Patrick
Super! Klappt hervorragend. Vielen Dank Carsten. Du hast mir sehr geholfen! :-)

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

E-Mail aus Excel an Empfänger in jeweiliger Zeile senden


Schritt-für-Schritt-Anleitung

Um E-Mail-Adressen aus Excel in eine Mail einzufügen und diese an den entsprechenden Empfänger zu senden, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, eine E-Mail an den Empfänger in der jeweiligen Zeile zu senden, wenn du in eine bestimmte Zelle doppelklickst.

  1. Öffne deine Excel-Datei.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Wähle im Projektfenster das Arbeitsblatt aus, in dem die E-Mail-Adressen und Nachrichten stehen.
  4. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim MyOutApp As Object, MyMessage As Object
    If Target.Column = 6 Then ' Die Spalte mit der Schaltfläche
        Set MyOutApp = CreateObject("Outlook.Application")
        Set MyMessage = MyOutApp.CreateItem(0)
        With MyMessage
            .To = Cells(Target.Row, 1) ' E-Mail-Adresse in Spalte 1
            .Subject = Cells(Target.Row, 2) ' Betreff in Spalte 2
            .Body = Cells(Target.Row, 3) ' Nachricht in Spalte 3
            .Send
        End With
        Set MyOutApp = Nothing
        Set MyMessage = Nothing
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Doppelklicke in die Zelle der Spalte, die du für den Versand der E-Mail definiert hast.

Häufige Fehler und Lösungen

  • Fehler: E-Mail wird nicht gesendet.

    • Stelle sicher, dass die Spalten für E-Mail-Adresse, Betreff und Nachricht korrekt gefüllt sind.
  • Fehler: Outlook öffnet sich nicht.

    • Überprüfe, ob Outlook korrekt installiert und als Standard-E-Mail-Programm eingestellt ist.
  • Fehler: Fehlermeldung beim Ausführen des Codes.

    • Kontrolliere, ob du die richtigen Berechtigungen hast, um VBA auszuführen.

Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, kannst du auch die Funktion "Senden an" in Excel nutzen. Hierbei musst du die E-Mail-Adressen in einer Spalte auflisten und die jeweiligen Nachrichten manuell kopieren.

  1. Markiere die Zelle mit der E-Mail-Adresse.
  2. Klicke auf Datei > Senden > E-Mail.
  3. Füge die Betreffzeile und den Nachrichtentext manuell ein.

Diese Methode ist jedoch weniger automatisiert und eignet sich besser für kleinere Datenmengen.


Praktische Beispiele

Angenommen, du hast die folgende Struktur in deiner Excel-Tabelle:

E-Mail-Adresse Betreff Nachricht Schaltfläche
test@example.com Test Betreff Dies ist ein Test. [Los]

Wenn du in die "Schaltfläche"-Zelle doppelklickst, wird automatisch eine E-Mail an test@example.com mit dem angegebenen Betreff und Nachricht gesendet.


Tipps für Profis

  • Automatisierung: Bei der Arbeitsplanung mit Excel-Vorlagen kannst du überlegen, wie du VBA nutzen kannst, um die Daten automatisch zu generieren und den Versand zu optimieren.
  • Debugging: Nutze die Debug.Print-Anweisung, um Informationen während der Ausführung des Codes in das Direktfenster auszugeben. So kannst du Fehler leichter identifizieren.
  • Sicherheitseinstellungen: Achte darauf, dass die Makrosicherheit in Excel so eingestellt ist, dass dein VBA-Code ausgeführt werden kann.

FAQ: Häufige Fragen

1. Kann ich mehrere E-Mails gleichzeitig senden?
Ja, du kannst den Code anpassen, um eine Schleife zu verwenden, die alle Zeilen durchläuft. Achte jedoch darauf, dass dies die E-Mail-Flut in Outlook verursacht.

2. Was passiert, wenn ich auf die Schaltfläche klicke, aber keine E-Mail-Adresse eingegeben ist?
In diesem Fall wird der Code einen Fehler auslösen. Es ist ratsam, vorher eine Überprüfung einzufügen, ob die Zelle mit der E-Mail-Adresse leer ist.

3. Funktioniert dieser Code in Excel Online?
Nein, der VBA-Code funktioniert nur in der Desktop-Version von Excel. Excel Online unterstützt keine Makros.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige