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 nach Zellenprüfung
#1
Hallo Zusammen,

ich habe folgende Anfrage:
In Spalte B ist das Eingangsdatum des jeweiligen Projekts hinterlegt. Die Aufgabe des Makros soll es sein, zuerst das Eingangsdatum zu prüfen, falls dieses älter als 6 Monate ist, soll der Status Spalte D geprüft werden. Wenn der Status Spalte D einen bestimmten Wert, in diesem Fall wäre es "submitted", aufweist soll eine Erinnerungsmail an den Sales Member gesendet werden.

Würde mich über Lösungsvorschläge freuen und bedanke mich im Voraus.


Angehängte Dateien
.xlsx   Mappe.xlsx (Größe: 9,83 KB / Downloads: 11)
Antworten Top
#2
Hallo, im MOF hat das wahrscheinlich (auch) noch niemand g'spannt...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#3
Hallo,

im Prinzip so. Den Code fügst Du in ein Modul ein, aktivierst den im Kommentar genannten Verweis und weist den code z.B. einer Schaltfläche zu.
Hinweis: Bitte poste im anderen Forum, dass Du hier eine Lösung erhalten hast !!

Code:
Option Explicit

' Verweis auf "Microsoft Outlook xxx Object Library"
' schauan
' Programmiert fuer Clever-Excel-Forum 2014
Sub SendInfoMail()
'Variablendekalrationen
Dim olApp As Outlook.Application
Dim objMail As Outlook.MailItem
Dim iCnt%
'Outlook-Anwendungsobjekt setzen
Set olApp = Outlook.Application
'Schleife  bis zur letzten gefuellten Zelle der Spalte B
For iCnt = 2 To Sheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
    'Wenn Datum in Zelle aelter als 183 Tage, dann
    If Sheets("Tabelle1").Cells(iCnt, 2).Value < Date - 183 Then
        'email-Objekt setzen
        Set objMail = olApp.CreateItem(olMailItem)
        'mit dem email
        With objMail
            'an
            .To = Sheets("contacts").Cells(Sheets("contacts").Columns(1).Find(Sheets("Tabelle1").Cells(iCnt, 3).Value).Row, 2).Value
            'Betreff
            .Subject = "Es wird Zeit ... Projekt: " & Sheets("Tabelle1").Cells(iCnt, 1).Value
            'Textkoerper
            .Body = "Der Termin ist schon 6 Monate ueberschritten. Mit freundlichen Grüßen"
            'email anzeigen
            .Display
        'Ende mit dem email
        End With
        'email-Objekt zuruecksetzen
        Set objMail = Nothing
    'Ende Wenn Datum in Zelle aelter als 183 Tage, dann
    End If
'Ende Schleife  bis zur letzten gefuellten Zelle der Spalte B
Next
'Outlook-Objekt zuruecksetzen
Set olApp = Nothing
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Vorab erstmal Danke.

Beim Ausführen des Befehls wird mir nun ein Fehler beim Kompilieren angezeigt. Wobei die Zeile mit "Sub SendInfoMail ()" gelb hinterlegt wird und beim schließen des VBA Editors der Hinweis "Dieser Befehl beendet den Debugger" angezeigt wird.

Konkrete Vorschläge?

Darüber hinaus verstehe ich an sich den Befehl, können wir allerdings noch die Spalte D = Status einpflegen - sodass im konkreten Fall die Mail generiert wird, wenn das Datum älter als 183 Tage ist und der Status bspw. auf "submitted" gesetzt ist.

Vielen Dank im Voraus.
Antworten Top
#5
Hallöchen,

ich hatte doch darum gebeten, dass Du im anderen Forum postest, dass Du hier eine Lösung bekommen hast. Der Fehker kommt vermutlich, weil Du noch einen Hinweis nicht beachtet hast ... Also, poste drüben mal einen Link auf meine Antwort und dann machen wir hier weiter.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
erledigt.
Antworten Top
#7
Hallo,

also, der Fehler kommt wahrscheinlich, weil Du den Verweis nicht gesetzt hast, siehe dazu der Kommentar am Anfang des Makros. Du findest den unter dem Menü | Extras | Verweise im VBA-Editor. Ich hatte xx hingeschrieben, weil der von Excelversion zu Excelversion eine unterschiedliche Nummer hat - bei uns mit 2013 ist es die 15.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
super danke, habs hinbekommen.

können wir noch das Problem mit Spalte D und dem Status lösen?

gruß
Antworten Top
#9
Hallöchen,

erst mal ungetestet

ersetze die Zeile

If Sheets("Tabelle1").Cells(iCnt, 2).Value < Date - 183 Then

durch

If Sheets("Tabelle1").Cells(iCnt, 2).Value < Date - 183 and Sheets("Tabelle1").Cells(iCnt, 4).Value = "submitted" Then


Bei submitted bitte auf die korrekte Schreibweise achten.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
funktioniert soweit. werde es noch weiter testen.

besten dank für den schnellen und perfekten support!!!
Antworten Top


Gehe zu:


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