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

Excel 将天和小时添加到当前时间,excel,vba,excel-formula,Excel,Vba,Excel Formula,我已经编写了一些代码,然后在一个消息框中使用这些代码获取当前日期/时间,然后我选择要添加到当前日期和时间的天数/小时/分钟,它会弹出 如果我只选择了一天作为额外的一天,它工作的完美,但当我选择了一天和一小时,它增加了2天的日期。如果我说1天1小时1分钟,那么它将在当前日期/时间的基础上增加3天 这是我的函数代码 Function HoursLost() Dim Day As Date Dim Hour As Date Dim Minute As Date Dim LValue As Date

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

如果我只选择了一天作为额外的一天,它工作的完美,但当我选择了一天和一小时,它增加了2天的日期。如果我说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-我在自定义ribbon中使用它,因此是ribbon部分。

一种方法是使用
DateAdd
函数。替换以下内容:

HoursLost = Now + Day + Hour + Minute
比如说:

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