Select Case und If Datediff...

Bild

Betrifft: Select Case und If Datediff...
von: Claus
Geschrieben am: 12.10.2003 10:42:06

Guten Tag Forumsmitglieder,

ich habe eine knifflige Abfrage im Sinn, die folgendes tun soll: Zum einen wird per Select Case Anweisung der Zellinhalt der Spalte C abgefragt (1. Bedingung) und zum anderen per If Anweisung eine Datumsdifferenz von Heute zum Wert in Spalte B festgestellt (2. Bedingung).
Wenn beide Bedingungen wahr sind, soll eine mail gesendet werden....

Leider funktioniert das mit der If-Anweisung nicht...Wie kann ich es besser machen? Mehrere Select Case Anweisungen?



Select Case Cells(x, 3)
        'Erste Nachricht T -10 Tage
        If DateDiff("d", Now, Cells(x, 2)) = 10 Then
        Case ""
          m.Body = "Der Termin für die Einarbeitung der BM " & Cells(x, 1) & " läuft in 10 Tagen aus. Die Bauunterlage muss in 10 Tagen auf Status 3-3 sein."
        'Zweite und letzte Nachricht T -5 Tage
        End If
        If DateDiff("d", Now, Cells(x, 2)) = 5 Then
        Case "1"
          m.Body = "Nur noch 5 Tage um die BM " & Cells(x, 1) & " komplett einzuarbeiten! Die Bauunterlage muss in 5 Tagen auf Status 3-3 sein."
        End If
        'Neuer Lauf
        Case Else
          GoTo 10
        End If
    End Select

     Code eingefügt mit Syntaxhighlighter 2.4

Bild


Betrifft: AW: Select Case und If Datediff...
von: Micha
Geschrieben am: 12.10.2003 11:24:35

probiers mal so
(ungetestet)

Select Case Cells(x, 3)
Case Is = ""
'Erste Nachricht T -10 Tage
If DateDiff("d", Now, Cells(x, 2)) = 10 Then
m.Body = "Der Termin für die Einarbeitung der BM " & Cells(x, 1) & " läuft in Tagen aus. Die Bauunterlage muss in 10 Tagen auf Status 3-3 sein."
End If
'Zweite und letzte Nachricht T -5 Tage
Case Is = "1"
If DateDiff("d", Now, Cells(x, 2)) = 5 Then

m.Body = "Nur noch 5 Tage um die BM " & Cells(x, 1) & " komplett einzuarbeiten! Die Bauunterlage muss in 5 Tagen auf Status 3-3 sein."
End If
'Neuer Lauf
Case Else
GoTo 10
End If
End Select


Bild


Betrifft: Datediff Format soll ganzzahlig sein
von: Claus
Geschrieben am: 12.10.2003 12:45:50

DAnke für die prompte und funktionnierende Hilfe! Ein kleines Problem habe ich allerdings noch: Bei der Bildung einer Datumsdifferenz soll das Ergebniis in der Email stehen. Der Wert kommt auch, allerrdings mit 12 Kommastellen. Statt 10 Tage steht da dann 9.483368055553 Tage...wobei das gerundet 9 Tagen entspricht und dann auch noch falsch wäre (für meine Zwecke falsch).
In Spalte B steht der Termin (z.B. 22.10.2003). Now ist heute (12.10.2003). Die Differenz soll 10 sein. Was muss ich ändern?

m.Body = "Der Termin läuft in " & Cells(x, 2) - Now() & " Tagen aus."


Bild


Betrifft: AW: Datediff Format soll ganzzahlig sein
von: Micha
Geschrieben am: 12.10.2003 17:33:06


vielleicht so?


m.Body = "Der Termin läuft in " & Cint(Cells(x, 2) - Now()) + 1 & " Tagen aus."


Bild


Betrifft: AW: Datediff Format soll ganzzahlig sein
von: PeterW
Geschrieben am: 12.10.2003 17:38:37

Hallo Claus,

benutze statt NOW() (=Datum und Uhrzeit!) lieber DATE (=nur Datum).

Gruß
Peter


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Select Case und If Datediff..."