问题描述
我需要一种方法来使用用户窗体中的输入来确定输出上显示的日期。这是我的代码:
I need a way to use the input on a userform to determine the date that will be displayed on the output. Here's my code:
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
基本上,当StatusBox.Value的输入小于或等于 11:59时,我需要将日期显示为
Date - 1
PM或23:59 StatusBox
字段中的输入将始终为12小时格式。
Basically I need the date to be displayed as Date - 1
when the input from StatusBox.Value is less than or equal to 11:59 PM or 23:59
the inputs on the StatusBox
field will always be in the 12-Hour format.
推荐答案
此解决方案假定如下:
-
StatusBox.Value
是使用时间格式格式化的Excel序列号(不包括日期),因此StatusBox.Value
是一个小数,其值范围从0
(零)到0.99988426
,代表从0:00:00
(12:00:00 AM)到23:59:59
(11:59:59 PM)。因此,当这个序列号达到24小时变成1
(一)。
StatusBox.Value
is an Excel serial number formatted with a time format (no Date included) , as suchStatusBox.Value
is a decimal number with a value ranging from0
(zero) to0.99988426
, representing the times from0:00:00
(12:00:00 AM) to23:59:59
(11:59:59 P.M.). Therefore when this serial number reaches the 24 hours becomes1
(one).
基于上述替换:
如果StatusBox.Value< =23:59
与此
如果StatusBox.Value< = 1
...
但是如果 StatusBox.Value
包含一个日期值]
然后使用它作为替换行:
However if StatusBox.Value
includes an [expected Date value]
then use this as replacement line:
如果StatusBox.Value< = [预期的日期值]
...
这篇关于使用输入作为显示日期的基础的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!