Microsoft Excel

Herbers Excel/VBA-Archiv

Aus DropDown E-Mail versenden

Betrifft: Aus DropDown E-Mail versenden von: Si Mon
Geschrieben am: 11.09.2020 17:12:43

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 ;)

Betrifft: AW: Aus DropDown E-Mail versenden
von: Nepumuk
Geschrieben am: 11.09.2020 17:39:14

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

Beiträge aus dem Excel-Forum zum Thema "Aus DropDown E-Mail versenden"