Hallo Andreas,
bist du dir denn sicher, dass der Ausdruck nicht korrekt ausgewertet wird? Bei mir funktioniert das sowohl mit Cdate() als auch mit Timevalue() wunderbar.
Prüfen kannst du das z.B. indem du ein msgbox davor schreibst
MsgBox CDate(Cells(n, 3)) >= CDate("14:00") And CDate(Cells(n, 3)) <= CDate("21:00")
Wenn diese WAHR zurückgibt, müsste korrekt in die Schleife reingesprungen werden.
Wie geht denn dein Code weiter? Vielleicht hast du dort eine falsche IF-Abfrage?
Am besten du setzt vor der Schleife einen Haltepunkt und springst dann mit F8 als Einzelzeile weiter. Dann findest du den Fehler eher.
Gruß Mr. K.