Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If-Abfrage mit Datumswerten

If-Abfrage mit Datumswerten
22.03.2020 22:36:56
Michael
Hallo zusammen,
ich verstehe Excel momentan nicht. Folgender Code:
Zeit = "00:00:05"
If Format(Now(), "hh:mm:ss") > "23:00:00" And Format(Now(), "hh:mm:ss")  "03:30:00" And Format(Now(), "hh:mm:ss")  "05:30:00" And Format(Now(), "hh:mm:ss") 

Meine Erwartung ist, dass die 1. If-Abfrage schon wahr ist, aber laut Excel ist die 3. If-Abfrage wahr. Kann mir das bitte jemand erklären.
Genauso verhält es sich zu Beispiel bei der Uhrzeit: "23:00:05". Hier würde ich auch erwarten, dass die 1. If-Abfrage wahr ist
Ich will folgendes mit dem Code erreichen:
Wenn es zwischen 23:00 Uhr und 03:30 ist, dann führe Code 1 aus, wenn es zwischen 03:30 und 05:30 ist, dann führe Code 2 aus und wenn es zwischen 05:30 und 23:00 Uhr ist, dann führe den 3. Code aus.
Für Hilfe wäre ich sehr dankbar.!
Gruß und Gute Nacht
Michael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If-Abfrage mit Datumswerten
22.03.2020 23:23:49
Daniel
HI
das geht bei dir aber vieles durcheinander.
die Ursache für das von dir gefragte Problem ist, dass du für die If-Abfragen immer die Echtzeit verwendest, dh welcher Teil der IF-Abfrage ausgeführt wird, hängt davon ab um welche Uhrzeit du deinen Code testest und es völlig egal welchen Wert du der Variablen Zeit gibst, weil diese in den IF-Prüfungen nicht verwendet wird.
der erste Teil kann auch niemals WAHR werden, weil es unmöglich ist, dass eine Uhrzeit vor 3 und gleichzeitig nach 23 Uhr liegen kann. das ist völlig unmöglich.
aber auch sonst geht bei dir so einiges durcheinander.
in den ersten beiden IFs legst du die Startzeit als Text fest (Anführungszeichen!) im letzen aber als Uhrzeit und damit als Zahl. Du solltest dich da schon entscheiden, wie du arbeiten willst und auf einen Datentyp für die Variable NextStartTime festlegen.
nächste Unstimmigkeit:
im ersten IF-Block ist die Obergrenze für die Uhrzeit 3:30, aber die Ausführungszeit soll 3:00 sein.
Wenn es jetzt zufällig 3:15 ist wenn das Makro ausgeführt wird, läge die Startzeit ja am nächsten Tag!!!
dein Code ist irgendwie kompletter Müll.
zumal du auch nur eine Startzeit festlegst, aber nicht das Makro, welches ausgeführt werden soll.
Gruß Daniel
Anzeige
AW: If-Abfrage mit Datumswerten
23.03.2020 00:16:24
GerdL
Moin Michael!
Sub test()
Dim NextStartTime As Date, Zeit As Date
Zeit = Time()
If Zeit >= TimeSerial(23, 0, 0) Or Zeit  TimeSerial(3, 30, 0) And Zeit 

Gruß Gerd
AW: If-Abfrage mit Datumswerten
23.03.2020 08:48:33
Michael
Hallo Gerd,
vielen Dank für deinen Input. Ich habe in dem Code natürlich einen Fehler gemacht und nicht die Variable "Zeit" abgefragt. Zum Glück hast du mein Anliegen trotzdem verstanden.
Ich werde deinen Code mal testen und hier dann eine Rückmeldung geben.
Gruß Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige