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.

Mail mit bestimmten inhalt aus Excel
#1
Lightbulb 
Sali zusammen,

Bin auf euer Forum aufmerksam geworden und nun dachte ich das ich mal hier meine Anfrage absetze ;;)
Eventuell kann mit ja jemand helfen ;)

Also ich habe eine Excel Tabelle wo ich diverse Daten pro Zeile speichere.
Wo dann eine Zeile ein Datensatz entspricht. Am ende gibt es ein Auswahlfeld mit *OK* und *NOK*

Nun frage ich mich wie ich das im VB umsetzen kann das folgendes passiert:

Wenn ich das Auswahlfeld auf OK stelle, sollte ein Mail versendet werden mit einem Text als Inhalt. und im Betreff diverse Zellen aus der Zeile (Ax, Cx, Gx z.B.)

Wenn ich das Auswahlfeld auf NOK stellen sollten andere Zellen in die Mail und in den Betreff.

Optimal wäre wenn beim Umstellen ein Popup kommt mit der Frage ob eine Mail versendet werden soll.

Kann mir da jemand helfen???? Wäre mega cool ;)

Danke und schönen samstag Abend zusammen...

Gruss aus CH
Charly
Antworten Top
#2
Hallo Charly,

mal ein Beispiel aus dem Internet

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    'von Rainer Beckerbauer (Ramses)
    'aus Online-Excel
    'http://www.online-excel.de/excel/singsel_vba.php?f=87
    Dim MyOutApp As Object, MyMessage As Object
        
        Set MyOutApp = CreateObject("Outlook.Application")
        Set MyMessage = MyOutApp.CreateItem(0)
        If Not Intersect(Target, Columns(2)) Is Nothing Then
            If Target.Value = "OK" Then
                With MyMessage
                    'Die Empfänger stehen in Spalte A ab Zeile 1
                    .To = "beispiel@t-online.de" 'Mail-Adresse bitte anpassen!!!!!
                    'Der Betreff in Spalte B
                    .Subject = "Darum geht es" '"Betreffzeile"
                    'Der zu sendende Text in Spalte C
                    'Maximal 1024 Zeichen
                    'Der Text wird ohne Formatierung übernommen
                    .Body = "Der Text der für alle angezeigt werden soll " & Cells(Target.Row, 1).Value & vbCrLf & _
                    "mit einer neuen Zeile"
                    'Hier wird die Mail angezeigt
                    '.Display
                    'Hier wird die Mail gleich in den Postausgang gelegt
                    .Send
                End With
            ElseIf Target.Value = "NOK" Then
                With MyMessage
                    'Die Empfänger stehen in Spalte A ab Zeile 1
                    .To = "beispiel@t-online.de" 'Mail-Adresse bitte anpassen!!!!!
                    'Der Betreff in Spalte B
                    .Subject = "Da ist der andere Text" '"Betreffzeile"
                    'Der zu sendende Text in Spalte C
                    'Maximal 1024 Zeichen
                    'Der Text wird ohne Formatierung übernommen
                    .Body = "Neuer Text der für NOK " & Cells(Target.Row, 6).Value & vbCrLf & _
                    "mit einer neuen Zeile"
                    'Hier wird die Mail angezeigt
                    '.Display
                    'Hier wird die Mail gleich in den Postausgang gelegt
                    .Send
                End With
            End If
        End If
        'Objectvariablen leeren
        Set MyOutApp = Nothing 'CreateObject("Outlook.Application")
        Set MyMessage = Nothing 'MyOutApp.CreateItem(0)

End Sub

Das ganze sollte bei einer Eingabe in der Spalte B ausgelöste werden. Musst Du auf deine Verhältnisse anpassen.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • tc_charly
Antworten Top
#3
Sali,

Hey coool, das Funktioniert ;;) werde das anpassen und so nehmen ;)

Danke viel mal für die Hilfe ;)
Antworten Top
#4
Danke für die schnelle Antwort.

Geht das nur per VBA oder auch über eine Formel?

Gruß
Frank
Antworten Top
#5
Hallo Frank,

(08.03.2017, 12:25)Tuempeltaucher schrieb: Geht das nur per VBA oder auch über eine Formel?

bin mir nicht sicher, ob sich deine Frage auf das Problem vom TE bezieht, aber das geht hier nur per VBA.
Gruß Stefan
Win 10 / Office 2016
Antworten Top


Gehe zu:


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