Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

E-Mail aus Excel erstellen
#1
Smile 
Hallo zusammen,

ich habe mal wieder eine tolle Frage für euch...... :)

In einer Exceltabelle werden Teilnehmer und Ansprechpartner eines Kurses erfasst.
Jedem Teilnehmer ist ein Ansprechpartner zugeordnet. Jeder Ansprechpartner kann dabei aber mehrere Teilnehmer haben.
Diese Zuordnung kann leider auch öfters wechseln.

Nun müssen regelmäßig E-Mails an die Ansprechpartner mit Berichten (als PDF) gesendet werden.
Dabei zeigt sich leider immer wieder das Problem, dass man für jeden Ansprechpartner zeitaufwändig die Teilnehmer raussuchen muss
und auch den Text der E-Mail ändern muss.

Gibt es eine Möglichkeit das in Excel zumindest Teilweise zu vereinfachen?

Das sieht derzeit so aus: (die Namen der Ansprechpartner stehen aber an anderer Stelle nochmal und werden hier nur per Drop-Down-Liste ausgewählt)

[
Bild bitte so als Datei hochladen: Klick mich!
]

Gibt es eine Möglichkeit einen Button pro Teilnehmer einzubauen und wenn man draufklickt wird eine Outlook-E-Mail an den Ansprechpartner erstellt?
Ich verute mal, dass das für euch noch recht einfach ist. ;)

Nun meine zweite Frage...

Kann man in die E-Mail an einer bestimmten Stelle die Namen des Ansprechpartners und des Teilnehmers einfügen? Im Betreff darf der aus datenschutztechnischen Gründen leider nicht auftauchen......

Das würde dann so aussehen:

####################################
Sehr geehrte Frau "Name aus Excel", (ich weiß, es müsste sogar noch Herr oder Frau abgefragt werden, dass ließe sich bestimmt machen.....)

anbei der Bericht für den Teilnehmer "Name aus Excel".

Mit freundlichen Grüßen
####################################

Optimal wäre es natürlich, wenn man nur eine Mail pro Ansprechpartner mit den Berichten aller Teilnehmer erstellen könnte, aber ich denke dafür ist Excel einfach nicht geamcht....

Habt ihr eine Idee für eine Vereinfachung?


Danke und Gruß

Mario
Antworten Top
#2
Hallo Mario,

da hier keine Datei als Muster beigefügt ist, hier mal ein einfaches Beispiel als Idee (ohne Fehlerabfang), wie man das machen könnte...
Man könnte das Makro per Doppelklick aus einer Zeile heraus starten, dann wird für den Asp die Mail mit allen zugeordneten Teilnehmern erstellt
Vielleicht bringt Dich das schon weiter...

Tabellenmuster:

TeilnehmerAnsprechpartnerAnredeeMailPDF-Datei
Müller, HugoAspi, AndreasHerrHugo.Müller@web.deMüllerDatei.pdf


Da kann man natürlich noch einiges anpassen...

Code:

Option Explicit

Sub Mail_SendenListe()
' Sendet Mail mit Anlagen und mit Signatur
  Dim WSh As Worksheet
  Dim sPfad As String, sMailtext As String, sAsp As String
  Dim iZeile As Long, iAnz As Integer

  Set WSh = ThisWorkbook.Sheets("Teilnehmerliste")  ' Blatt mit Maildaten bzw. Daten
  sPfad = ThisWorkbook.Path & "\"                   ' Pfad zu den PDF-Dateien
 
' Mail erstellen
  With CreateObject("Outlook.Application").CreateItem(0)
      iZeile = ActiveCell.Row                       ' Aktuell markierte Zeile wird verarbeitet
      .BodyFormat = 2                               ' 2=HTML-Format
      .Subject = "Die Berichte vom " & Date         ' Betreff
      .To = WSh.Cells(iZeile, "B").Value            ' Empfänger (Ansprechpartner)

      sAsp = WSh.Cells(iZeile, "B").Value           ' Ansprechpartner merken
      sMailtext = "<body style='font-family:Arial; font-size:10pt;color:#000000'>" _
                & "Sehr geehrte" _
                & IIf(WSh.Cells(iZeile, "C").Value = "Herr", "r Herr", "Frau") & " " _
                & Split(sAsp, ",")(0) & "," & vbLf & vbLf & "anbei ¶" & vbLf & vbLf
                
      For iZeile = 2 To WSh.Cells(Rows.Count, "B").End(xlUp).Row
        If WSh.Cells(iZeile, "B").Value Like sAsp Then
          If Dir(sPfad & WSh.Cells(iZeile, "E").Value) <> "" Then
' Anlage dran und Text erweitern
             .Attachments.Add sPfad & WSh.Cells(iZeile, "E").Value
             sMailtext = sMailtext & WSh.Cells(iZeile, "A").Value & "," & vbLf
             iAnz = iAnz + 1
          End If
        End If
      Next iZeile
      
      sMailtext = Replace(sMailtext, "", IIf(iAnz = 1, _
                "der Bericht des Teilnehmers", "die Berichte der Teilnehmer"))
      sMailtext = sMailtext & "</body><br>"         ' Schrift formatieren abschließen
      
      .Getinspector                                 ' Signatur holen
      .htmlbody = Replace(sMailtext, vbLf, "<br>") & .htmlbody
      .Display                                      ' Mail anzeigen
  End With

End Sub

_________
viele Grüße
Karl-Heinz
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste