可能重复:
VBA Excel:一次加一秒
我有一个 Excel 电子表格,其时间值格式为自定义 00"00"。我想从这个值中减去 5 分钟,并使用 Excel VBA 将答案格式化为 hh:mm:ss。我已经看遍了,但没有找到答案。我尝试使用各种时间函数,但运气不佳。我是一个新的 Excel VBA 程序员。任何建议,将不胜感激。
可能重复:
VBA Excel:一次加一秒
我有一个 Excel 电子表格,其时间值格式为自定义 00"00"。我想从这个值中减去 5 分钟,并使用 Excel VBA 将答案格式化为 hh:mm:ss。我已经看遍了,但没有找到答案。我尝试使用各种时间函数,但运气不佳。我是一个新的 Excel VBA 程序员。任何建议,将不胜感激。
如果 Cell 拥有一个真实的日期时间值,你可以使用这样的东西:
Cells(r, c).Value = DateAdd("n", -5, Cells(r, c).Value)
Cells(r, c).NumberFormat = "hh:mm:ss"
我不知道自定义格式00"00"
应该做什么,但既然你说你有“......带有时间值的电子表格......”我假设基础数据是日期/时间序列号。
如果是这样的话
Dim cl as Range
Set cl = Range("YourCellAddress")
cl = cl - 5# / 1440# ' subtract 5 minutes
cl.NumberFormat = "hh:mm:ss" ' format