Vba 使用输入作为显示日期的基础
我需要一种方法来使用userform上的输入来确定将在输出上显示的日期。这是我的密码:Vba 使用输入作为显示日期的基础,vba,excel,excel-formula,Vba,Excel,Excel Formula,我需要一种方法来使用userform上的输入来确定将在输出上显示的日期。这是我的密码: If StatusBox.Value <= "23:59" And ShiftCode.Value = "AP" Then Cells(emptyRow, 8).Value = ((Date - 1) + " " + StatusBox.Value + " " + "CEST") Else Cells(emptyRow, 8).Value = (Date + " " + StatusBo
If StatusBox.Value <= "23:59" And ShiftCode.Value = "AP" Then
Cells(emptyRow, 8).Value = ((Date - 1) + " " + StatusBox.Value + " " + "CEST")
Else
Cells(emptyRow, 8).Value = (Date + " " + StatusBox.Value + " " + "CEST")
End If
If StatusBox.Value此解决方案假定:
StatusBox.Value
是一个Excel序列号,格式为时间格式(不包括日期),例如StatusBox.Value
是一个十进制数,其值范围为0
(零)到0.99988426
,表示从0:00:00
(上午12:00:00)到23:59:59
(下午11:59:59)的时间。因此,当该序列号达到24小时时变为1
(一)
基于上述情况,替换此:
If StatusBox.Value该代码不起作用吗?它与If语句不起作用,但如果我删除它,它就会起作用。时间总是小于23:59。再过几分钟,就到00:00了,也不到23:59。你需要想出一些其他的逻辑来决定是否需要休息一天off@SeanC这就是我一直在想的。在VBA中是否有方法将输入声明为“Time”
?如果将时间的左半部和右半部进行比较,会怎么样?例如23:59-比较23和24(午夜),以及59和00?还有@SeanC-我需要休息一天,我自己的逻辑是这样的Plooks真棒,我回家后会试试,让你知道进展如何