我需要检查,如果时间落在下午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