我需要檢查,如果時間落在下午3時31分00秒和上午6時29分○○秒檢查,如果時間範圍落在之間不工作
這是在即時窗口什麼時候返回我調試之間。
?TimeValue(TEMP.Cells(i, tAssgnStart)) >= WorksheetFunction.Min(TimeValue("15:31:00"), TimeValue("06:29:00"))
False
?TimeValue(TEMP.Cells(i, tAssgnStart))
02:00:00
?WorksheetFunction.Min(TimeValue("15:31:00"), TimeValue("06:29:00"))
0.270138888888889
?cdate(WorksheetFunction.Min(TimeValue("15:31:00"), TimeValue("06:29:00")))
06:29:00
?TimeValue(TEMP.Cells(i, tAssgnStart)) <= WorksheetFunction.Max(TimeValue("15:31:00"), TimeValue("06:29:00"))
True
?TimeValue(TEMP.Cells(i, tAssgnStart))
02:00:00
?WorksheetFunction.Max(TimeValue("15:31:00"), TimeValue("06:29:00"))
0.646527777777778
?cdate(WorksheetFunction.Max(TimeValue("15:31:00"), TimeValue("06:29:00")))
15:31:00
我嘗試了很多東西,但由於某種原因我無法正確理解它。 任何人都可以告訴我我在做什麼錯在這裏?
但這似乎是一點點努力說實話。 Tim的答案有什麼問題嗎? – Rohan
@Rohan呃,我不喜歡用日期作爲字符串來處理,這是'timevalue'的作用。如果您將它們作爲實際日期值處理,您將很少機會格式化導致問題。此外,他的方法只顯示了一堆代碼,這違背了stackoverflow的原則 - 公平地說,問題並沒有那麼複雜,但我仍然覺得至少有一個簡單的解釋,你爲什麼要做你的答案一切順利。 – eirikdaude
@Rohan在這個答案中顯示的函數也可以插入到你想要使用的任何宏中,並且對它的功能很自我描述 - 在Tim的答案中閱讀代碼並不那麼容易。我也有一些關於他沒有聲明他的變量和類似的類型的小小挑剔,但是這些更多的是關於良好的編碼標準:P – eirikdaude