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

Aus DropDown E-Mail versenden

Forumthread: Aus DropDown E-Mail versenden

Aus DropDown E-Mail versenden
11.09.2020 17:12:43
Si
Hallo Ihr Excel-Profis,
Ich habe eine Mitarbeiterliste (Tabelle1) angefertigt. Über diese Liste möchte ich gerne die Erledigung offener Schulungen in Auftrag geben. Es gibt insgesamt 4 Module. Für jedes Modul habe ich in Tabelle3 jeweils Betreff und Inhalt der Mail hinterlegt (A1-H1).
In jeder Zeile auf Tabelle1 gibt es in Spalte G ein Dropdown-Menü aus dem hinter dem Mitarbeiter eine der vier Schulungen ausgewählt werden kann.
Je nach Auswahl soll dann direkt eine Mail an den ausgewählten Mitarbeiter erzeugt, angezeigt und nach Bestätigung geschickt werden mit dem entsprechenden Betreff und Inhalt aus Tabelle3.
Ich hoffe Ihr könnt mir helfen? Meine Makro-Kenntnisse reichen dafür leider bei weitem nicht aus...
Hier die Datei:
https://www.herber.de/bbs/user/140197.xlsm
Bitte den grünen Markierungen keine Beachtung schenken, die haben eine andere Bedeutung ;)
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus DropDown E-Mail versenden
11.09.2020 17:39:14
Nepumuk
Hallo Simon,
in das Modul der Tabelle (Rechtsklick auf den Tabellenreiter - Code anzeigen):
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim objOutlook As Object, objMail As Object
    Dim lngColumn As Long
    If Target.Column = 7 And Target.Row > 1 Then
        If Not IsEmpty(Target.Value) Then
            Select Case Target.Value
                Case "Arbeitsschutz"
                    lngColumn = 1
                Case "Datenschutz"
                    lngColumn = 3
                Case "AGG"
                    lngColumn = 5
                Case "Korruption"
                    lngColumn = 7
            End Select
            Set objOutlook = CreateObject(Class:="Outlook.Application")
            Set objMail = objOutlook.CreateItem(0)
            With objMail
                .To = Cells(Target.Row, 3).Text
                .Subject = Worksheets("Tabelle3").Cells(2, lngColumn).Text
                .Body = Worksheets("Tabelle3").Cells(2, lngColumn + 1).Text
                Call .Display
            End With
            Set objMail = Nothing
            Set objOutlook = Nothing
        End If
    End If
End Sub

Gruß
Nepumuk
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

E-Mails aus Dropdown in Excel versenden


Schritt-für-Schritt-Anleitung

Um E-Mails aus einem Dropdown-Menü in Excel zu versenden, folge diesen Schritten:

  1. Vorbereitung der Mitarbeiterliste: Stelle sicher, dass deine Tabelle (Tabelle1) eine Spalte mit einem Dropdown-Menü in Spalte G enthält. Dieses Menü sollte die vier Schulungen (z.B. Arbeitsschutz, Datenschutz, AGG, Korruption) umfassen.

  2. Erstellung von Tabelle3: In Tabelle3 legst du die Betreffzeilen und Inhalte für jede Schulung fest. Zum Beispiel:

    • A1: Betreff für Arbeitsschutz
    • B1: Inhalt für Arbeitsschutz
    • C1: Betreff für Datenschutz
    • D1: Inhalt für Datenschutz
    • usw.
  3. Makro hinzufügen:

    • Rechtsklicke auf den Reiter von Tabelle1 und wähle „Code anzeigen“.
    • Füge den folgenden Code in das Modul ein:
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim objOutlook As Object, objMail As Object
       Dim lngColumn As Long
    
       If Target.Column = 7 And Target.Row > 1 Then
           If Not IsEmpty(Target.Value) Then
               Select Case Target.Value
                   Case "Arbeitsschutz"
                       lngColumn = 1
                   Case "Datenschutz"
                       lngColumn = 3
                   Case "AGG"
                       lngColumn = 5
                   Case "Korruption"
                       lngColumn = 7
               End Select
    
               Set objOutlook = CreateObject(Class:="Outlook.Application")
               Set objMail = objOutlook.CreateItem(0)
               With objMail
                   .To = Cells(Target.Row, 3).Text
                   .Subject = Worksheets("Tabelle3").Cells(2, lngColumn).Text
                   .Body = Worksheets("Tabelle3").Cells(2, lngColumn + 1).Text
                   Call .Display
               End With
               Set objMail = Nothing
               Set objOutlook = Nothing
           End If
       End If
    End Sub
  4. Testen: Wähle in der Dropdown-Liste eine Schulung aus und prüfe, ob die E-Mail korrekt erstellt wird.


Häufige Fehler und Lösungen

  • Fehler: Öffnen von Outlook schlägt fehl: Stelle sicher, dass Outlook installiert ist und keine Sicherheitsrichtlinien das Öffnen von Outlook blockieren.

  • Fehler: E-Mail wird nicht angezeigt: Überprüfe, ob das Dropdown korrekt konfiguriert ist und die entsprechenden Werte in Tabelle3 vorhanden sind.


Alternative Methoden

Wenn du kein Makro verwenden möchtest, kannst du auch die "Hyperlink"-Funktion nutzen, um eine E-Mail zu erstellen. Du kannst in einer Zelle eine Formel wie folgt verwenden:

=HYPERLINK("mailto:" & C2 & "?subject=" & A2 & "&body=" & B2, "E-Mail senden")

Dabei ist C2 die E-Mail-Adresse, A2 der Betreff und B2 der Inhalt.


Praktische Beispiele

Angenommen, die Mitarbeiterliste in Tabelle1 sieht so aus:

Mitarbeiter E-Mail Schulung
Max Müller max@example.com Arbeitsschutz
Lisa Schneider lisa@example.com Datenschutz

Wenn Max Müller im Dropdown „Arbeitsschutz“ auswählt, wird eine E-Mail mit dem Betreff und Inhalt aus Tabelle3 für „Arbeitsschutz“ erstellt.


Tipps für Profis

  • Automatisierung: Du kannst den Code erweitern, um auch CC oder BCC zu verwenden, indem du die entsprechenden Zeilen im Code hinzufügst.

  • Benutzerdefinierte Vorlagen: Erstelle Vorlagen in Outlook für häufig verwendete E-Mails, um Zeit zu sparen.


FAQ: Häufige Fragen

1. Kann ich mehrere E-Mails gleichzeitig senden?
Ja, das ist möglich, indem du den Code anpasst, um eine Schleife durch alle Zeilen in deiner Mitarbeiterliste zu erstellen.

2. Welche Excel-Version wird benötigt?
Der oben genannte VBA-Code funktioniert ab Excel 2010 und in allen späteren Versionen, sofern Outlook installiert ist.

3. Was mache ich, wenn der Code nicht funktioniert?
Überprüfe, ob die Makros in Excel aktiviert sind und dass die richtigen Objekte angesprochen werden (z.B. richtige Tabellen- und Zellreferenzen).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige