Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用输入作为显示日期的基础_Vba_Excel_Excel Formula - Fatal编程技术网

Vba 使用输入作为显示日期的基础

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

我需要一种方法来使用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 + " " + 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真棒,我回家后会试试,让你知道进展如何