【问题标题】:Add minutes to a time (hh:mm) in excel vba在excel vba中将分钟添加到时间(hh:mm)
【发布时间】:2016-04-12 10:14:21
【问题描述】:

我正在制定生产计划,并想添加 ex。一次 78 分钟。 7:05(上午)在 VBA 中。我该怎么做呢?这是我迄今为止尝试过的,但我收到错误 13 type:mismatch

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

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

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

【问题讨论】:

  • 使用这个,除了把“d”改成“n”:stackoverflow.com/questions/16259166/…
  • @ScottCraner,是的,当你纠正我时,我一评论并将其编辑为“n”,我就意识到了。
  • 这些答案是否有效?请选择正确的一项。

标签: vba excel


【解决方案1】:

Times 应该被认为是 double 类型的变量。时间是一天的小数部分 (1)。 0.5 是中午,0.666666 是下午 4: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)

【讨论】:

    【解决方案2】:

    使用DATEADD函数:

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

    “n”表示分钟。

    【讨论】:

    • 为什么不是“m”? “n”对 VBA 意味着什么? (只是好奇)
    • 因为mMonth
    • @BruceWayne 我也必须查一下。因此链接。我想要备份。
    • D'oh,应该先检查那里。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    相关资源
    最近更新 更多