Mit "Hyperlink" Mail mit Variablen versenden?
#1
Hallo Gemeinde,

zunächst einmal wünsche ich einen guten Morgen! Ich habe wieder einmal ein Problem und hoffe auf eure Kompetenz!

Ich möchte durch Doppelklick/Hyperlink auf eine Zelle eine E-Mail anstoßen. Dies habe ich folgendermaßen umgesetzt:




Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Target.Address <> "$Q$4" Then Exit Sub 'hier soll der Start des Makros durch Doppelklick erfolgen und dies in jeder Zelle im Bereich Q4:Q200 
  Call sendMailWithSignature

End Sub

Public Sub sendMailWithSignature()

  Dim BETREFF, BODY, EMPFAENGER As String
  Dim objOL As New Outlook.MailItem
  Dim objMail As Outlook.MailItem

  BETREFF = Tabelle4.Range("B1") & Tabelle1.Range("C*") 'hier soll noch die Zelle C* aus Tabelle1 (* = Zeile in der der Doppelklick erfolgt ist) angehängt werden
  BODY = Tabelle4.Range("B2") & Tabelle1.Range("A*") & Tabelle4.Range ("B3") ''hier soll noch die Zelle A* aus Tabelle1 (* = Zeile in der der Doppelklick erfolgt ist) angehängt werden über & B*
  EMPFAENGER = Tabelle1.Range("F*") 'hier soll der Empfänger aus der Tabelle1 der Zelle F* entnommen werden, wobei * die Zeile ist, in der der Doppelklick erfolgt ist

  Set objMail = objOL.CreateItemFromTemplate("\\Pfad\Signatur OfMa.oft")
  objMail.Subject = BETREFF
  objMail.HTMLBody = BODY & objMail.HTMLBody
  objMail.To = EMPFAENGER

  'Nachricht anzeigen
  objMail.Display

End Sub




Wenn ich feste Zellen zuweise funktioniert das. Er soll aber die jeweiligen Zellen aus der Zeile in der der Doppelklick erfolgt auswählen. So wie es aktuell da steht auch durch einfaches Auswählen der Zelle. Dies soll aber erst durch Doppelklick erfolgen sonst kreiert er ständig beim durchgehen der Tabelle Mails.... Ich habe hierzu leider nichts gefunden, was ich umsetzen konnte. Vielleicht habt ihr eine Idee, wie ich das umsetzen kann.

Vielen Dank schon mal vorab... und bleibt gesund!

Christian
Top
#2
So etwas würde mir vorschweben, aber ich denke da mangels Erfahrung und Wissen sicherlich nicht in den richtigen VBA Dimensionen...


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)

  Cancel = True
  If Target.Address = "Q4:Q200" Then 
  Call sendMailWithSignature

End Sub

Public Sub sendMailWithSignature()

  Dim BETREFF, BODY, EMPFAENGER As String
  Dim objOL As New Outlook.MailItem
  Dim objMail As Outlook.MailItem

  BETREFF = Tabelle4.Range("B1") & Tabelle1.Cells(Target.Row, 3).Value
  BODY = Tabelle4.Range("B2") & Tabelle1.Cells(Target.Row, 1) & Tabelle4.Range ("B3") 
  EMPFAENGER = Tabelle1.Cells(Target.Row, 6)

  Set objMail = objOL.CreateItemFromTemplate("\\Pfad\Signatur OfMa.oft")
  objMail.Subject = BETREFF
  objMail.HTMLBody = BODY & objMail.HTMLBody
  objMail.To = EMPFAENGER

  'Nachricht anzeigen
  objMail.Display

End Sub



Vielleicht kann ja auch hier jemand eine Idee beisteuern.

Danke!
Top
#3
Lösung habe ich durch ausprobieren selbst herausgefunden. 

Trotzdem danke an alle, die es sich wenigstens angesehen haben!

Viele Grüße

Christian
Top
#4
Hier eine Möglichkeit zum ausprobieren 17

 

.xlsx   Hyperlink_Mail_Senden.xlsx (Größe: 47,51 KB / Downloads: 1)

 

durch den Hyperlink wird automatisch Outlook aktiviert und öffnet eine E-Mail mit den vorgegebenen Daten.
Wenn aber gewünscht wird das auch dateien mit gesendet werden, dann braucht VBA.

Alles ohne gewähr, da anfänger im spiel 05

 Wenn Ihnen damit geholfen wurde, bitte als beantwortet und Daumen hoch hinzufügen, somit können auch andere Mitglieder davon profitieren.
 
Danke,  78
 
Niko der Anfänger
Top


Gehe zu:


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