将天和小时添加到当前时间



我写了一些代码,然后在消息框中使用这些代码来获取当前日期/时间,然后选择要添加到当前日期和时间的天数/小时/分钟,它就会弹出。

如果我只选择一天作为额外的一天,那就完美了,但当我选择一天零一小时的时候,它就增加了两天。如果我说1天1小时1分钟,那么它会在当前日期/时间上增加3天。

这是我的功能代码

Function HoursLost()
Dim Day As Date
Dim Hour As Date
Dim Minute As Date
Dim LValue As Date
LValue = Now

Day = InputBox("Enter Day ", "Enter Number of Days")
Hour = InputBox("Enter Hour", "Enter Number of Hours")
Minute = InputBox("Enter Minute", "Enter Number of Minutes")
HoursLost = Now + Day + Hour + Minute

End Function

这是我调用的代码

Option Explicit
Sub ShowDateSelection(control As IRibbonControl)
Dim strMsg As String, strTitle As String

Application.Calculate

strMsg = HoursLost()
strTitle = "The Future Date/Time Will Be:"

MsgBox strMsg, vbOKOnly, strTitle

End Sub

关于如何避开这个问题有什么建议吗?PS-我在自定义功能区中使用这个,因此功能区部分。

实现这一点的一种方法是使用DateAdd函数。更换以下内容:

HoursLost = Now + Day + Hour + Minute

像这样的东西:

HoursLost = DateAdd("d", Day, Now)
HoursLost = DateAdd("h", Hour, HoursLost)
HoursLost = DateAdd("n", Minute, HoursLost)

最新更新