Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn bestimmter Zellinhalt, Link als mail

Wenn bestimmter Zellinhalt, Link als mail
11.06.2018 18:09:47
Elke
Hallo an die Experten,
folgende bedingungen:
In Zelle D5 kann man den Status einer Zeile pflegen. "neu" "in arbeit" oder "erledigt"
In Zelle C5 steht der Name eines Benutzers der auch eine Mailadresse hat. Anhand des Namens findet der Exchange dann im AN-Feld der email den richtigen benutzer.
Jetzt mein Wunsch:
Wenn man nun in Zelle D5 den Status von "in arbeit" auf "Erledigt" setzt, soll
folgendes per eMail versendet werden:
email to: Zellwert C5
Betreff: "Vorgang erledigt + Zellinhalt aus Zelle D5 + F5"
In den Text soll der Link auf die Datei.
Die Email soll nicht automatisch gesendet werden, sondern der Absender soll dann noch manuell auf "senden" klicken.
Wichtig dabei ist, das die Liste in Zukunft viele zeilen haben wird. Somit ist dann in einer weiteren Zeile der Wert für "email to" und den Betreffe immer abhängig von der Zelle die den Status steuert.
Ich kann emailbuttons erstellen, scheitere aber gerade am benutzen von Zellwerten..:-(
Danke an Euch vorab
Gruss
Elke

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn bestimmter Zellinhalt, Link als mail
11.06.2018 20:57:35
Sepp
Hallo Elke,
"Ich kann emailbuttons erstellen, ..."
wie sieht den der Code aus?
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Wenn bestimmter Zellinhalt, Link als mail
12.06.2018 08:20:04
Elke
naja in diesem Fall brauche ich ja keinen button, sondern die Email soll ja mit dem Textwechsel in einer Zelle angestossen werden.
Aber auch bei einem button wüsste ich nicht, wie ich die Daten aus der Zelle abgreifen kann.
Einen emailbutton habe ich, der funktioniert...hier als Beispiel.
Jetzt brauche ich aber das was ich im ersten post geschrieben habe.
Sub EmailManuellAbsenden()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.to = "email...."
.Subject = "xyz"
.Body = "pfad zu dokument - kein hyperlink"
.Display        'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend  _
manuell vom User!
End With
End Sub

Anzeige
AW: Wenn bestimmter Zellinhalt, Link als mail
12.06.2018 20:37:40
Sepp
Hallo Elke,
in das Modul der Tabelle in der du 'Erledigt' eingibst. (Rechtsklick auf Tabellenregister > Code anzeigen > Code einfügen)
Microsoft Excel Objekt Tabelle1
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
 
If Target.Column = 4 Then 
  If Target = "Erledigt" Then 
   Call sendMail(Target.Offset(0, -1), "Vorgang " & Target & " - " & Target.Offset(0, 2), Target.Offset(0, 2)) 
  End If 
End If 
 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


In ein allgemeines Modul.
Modul Modul1
Option Explicit 
 
Sub sendMail(ByVal Receiver As String, ByVal Subject As String, ByVal FileLink As String) 
  Dim objOutlook As Object 
  Dim objMail As Object 
 
  Set objOutlook = CreateObject("Outlook.Application") 
  Set objMail = objOutlook.CreateItem(0) 
 
  With objMail 
    .To = Receiver 
    .Subject = Subject 
    .HTMLBody = "Pfad zum Dokument - " & "<a href='" & FileLink & "'>" & FileLink & "</a>" 
    .Display 
  End With 
 
  Set objOutlook = Nothing 
  Set objMail = Nothing 
End Sub 
 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Wenn du nun in Spalte D 'Erledigt' eingibst, wird der Code ausgeführt.
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Wenn bestimmter Zellinhalt, Link als mail
13.06.2018 12:07:23
Elke
Danke dir. klappt super.
Eine Frage noch: kann man da noch eine Abfrage einbauen, ob man die email versenden möchte?
Wenn man dann ja sendet, geht die Email auf. Wenn nicht dann nicht?
AW: Wenn bestimmter Zellinhalt, Link als mail
13.06.2018 17:23:54
Sepp
Hallo Elke,
sicher geht das.
Microsoft Excel Objekt Tabelle1
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
  
  If Target.Column = 4 Then 
    If Target = "Erledigt" Then 
      If MsgBox("E-Mail senden?", vbYesNo + vbQuestion, "Nachricht senden") = vbYes Then 
        Call SendMail(Target.Offset(0, -1), "Vorgang " & Target & " - " & Target.Offset(0, 2), Target.Offset(0, 2)) 
      End If 
    End If 
  End If 
  
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige