我有一个用户窗体,该窗体自动生成当前日期时间并将其放置在单元格(批处理结束)中。然后在以后的时间再次使用该用户窗体,它将重复该步骤,但将其放在另一个单元格中(新批处理的开始)。
我想以分钟为单位计算两个日期时间之间的时差。当我从较晚的日期时间中减去较早的日期时间时,由于某种原因,我现在使用的代码给了我奇怪的否定答案,因此在某处一定有错误。 (由于午夜之后开始和结束批次,这些日期可能是同一天,也可能不是同一天)。
当我仅尝试使用单元格公式将两者相减(无代码)时,我得到的错误值为.05。
有人知道我可以让excel正确识别这些日期时间并减去它们,以便产生分钟差吗?
If opt1.Value = True And Range("U40") = "" Then
Range("U40") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt1.Value = True And Range("U41") = "" Then
Range("U41") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt1.Value = True And Range("U42") = "" Then
Range("U42") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt2.Value = True And Range("W40") = "" Then
Range("W40") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt2.Value = True And Range("W41") = "" Then
Range("W41") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt2.Value = True And Range("W42") = "" Then
Range("W42") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
End If
If Range("U42") > "" And Range("W42") > "" Then
Range("Y42") = Range("W42") - Range("U42")
ElseIf Range("U41") > "" And Range("W41") > "" Then
Range("Y41") = Range("W41") - Range("U41")
ElseIf Range("U40") > "" And Range("W40") > "" Then
Range("Y40") = Range("W40") - Range("U40")
End If
答案 0 :(得分:2)
Excel中的时间存储为一天的一小部分。减法为您提供十进制天数,您需要乘以得到分钟数:
(Time B - Time A) * 60 Minutes in an hour * 24 Hours in a day
=(B1-A1)*60*24
答案 1 :(得分:1)
Range(“ Y42”)= DateDiff(“ n”,Range(“ U42”),Range(“ W42”))
答案 2 :(得分:0)