在excel vba

时间:2016-01-07 20:58:25

标签: excel vba excel-vba

我正在制作制作时间表,并希望添加前。 78分钟到一个时间前。 7:05(am)在VBA。我该怎么做呢?这是我到目前为止所尝试的,但我收到错误13类型:不匹配

Dim TUntilPump As Integer
Dim TFPump As Long, TStartPump As Long

TUP = 78
TFP = Time(0, TUP, 0)
TSP = Time(7,05,0) + TFP

我认为它与我的变量尺寸或我的时代格式有关,但我不知道我做错了什么。任何帮助表示赞赏,并提前感谢!

2 个答案:

答案 0 :(得分:10)

使用DATEADD功能:

TRP = dateadd("n",78,"7:05:00")

“n”表示分钟。

答案 1 :(得分:7)

对于此,应将时间视为 double 类型的变量。时间是一天的小数部分(1)。 0.5是中午,0.666666是下午04:00。我发现TimeSerial function对于构建日期很有用。

dim TFP as double, TSP as double, TUP as integer

TUP = 78
TFP = TimeSerial(0, TUP, 0)
TSP = TimeSerial(7, 5, 0) + TFP
'alternate
TSP = TimeSerial(7, 5 + TUP, 0)