Flags bei Felder-überprüfung

Bild

Betrifft: Flags bei Felder-überprüfung von: Segnor
Geschrieben am: 04.02.2005 17:41:21

Hallo,

habe folgendes Makro welches die Zellen C1-C5 nach der Farbe Gelb überprüft und wenn "JA" eine Mail mit dem Inhalt generiert.

Würde es jetzt gern so haben, dass wenn z.B. für Zelle C2 schon einmal eine Mail rausgeschickt wurde 24h keine erneute Mail generiert wird, aber für die anderen Zellen schon wenn Sie gelb sind.

Wie kann ich das den mit Flags realisieren?

Vielen Dank für eure Hilfe

Sub WerteCheck()
Dim c As Range
Dim laR As Long
    laR = Cells(Rows.Count, 1).End(xlUp).Row
    For Each c In Range("C1:C5" & laR)
      If c.Interior.Color = vbYellow Then
          strName = c.Value
          Set outObj = CreateObject("Outlook.Application")
          Set Mail = outObj.CreateItem(0)
          Mail.Subject = "Wert anpassen!"
          Mail.Body = "Den Wert " & strName & " bitte anpassen!" & vbLf & _
          "Diese Mail wurde automatisch erzeugt."
          Mail.to = "blabla@bla.com"
          Mail.send
          flagwerte = True
          Set Mail = Nothing
          Set outObj = Nothing
        Exit For
      End If
    Next c
End Sub

Bild


Betrifft: AW: Flags bei Felder-überprüfung von: Segnor
Geschrieben am: 04.02.2005 17:47:24

Btw. wie schaffe ich es, dass er nicht den Wert aus Spalte C sondern z.B. aus Spalte A nimmt?


Bild


Betrifft: AW: Flags bei Felder-überprüfung von: Beni
Geschrieben am: 04.02.2005 21:16:28

Hallo Segnor,
dass das Mail innert 24h nicht nochmals gesendet wird braucht es eine Hilfspalte(hier B), in dieser Zeile Datum/Zeit eingefügt und das nächste mal verglichen, ist weniger als 24h, wird nicht gesendet.
Die Werte aus SpalteA habe ich angepasst.
Gruss Beni






Sub WerteCheck()
Dim c As Range
Dim laR As Long
    laR = Cells(Rows.Count, 1).End(xlUp).Row
    For Each c In Range("C1:C" & laR)
          a = c.Address(False, False)
          r = Range(a).Row
      If c.Interior.Color = vbYellow And Range("B" & r).Value < Now() - 1 Then
          Range("B" & r).Value = Now()
          strName = Range("A" & r).Value
          Set outObj = CreateObject("Outlook.Application")
          Set Mail = outObj.CreateItem(0)
          Mail.Subject = "Wert anpassen!"
          Mail.Body = "Den Wert " & strName & " bitte anpassen!" & vbLf & _
          "Diese Mail wurde automatisch erzeugt."
          Mail.to = "beni.maechler@bluewin.ch"
          Mail.send
          flagwerte = True
          Set Mail = Nothing
          Set outObj = Nothing
        Exit For
      End If
    Next c
End Sub



Bild


Betrifft: AW: Flags bei Felder-überprüfung von: Segnor
Geschrieben am: 07.02.2005 09:33:29

Hallo Beni,

1000 Dank habs noch ein wenig erweitert war aber echt super

Gruß Segnor


 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA-Code wird nicht richtig getriggert :-("