Herbers Excel-Forum - das Archiv
Select Case und If Datediff...
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
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
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."
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."
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