我想在VBA中存储一组时间,就像这样,但VBA拒绝。
Dim timeA() As Variant
timeA = Array(01:42:32.75, 02:26:34.22, 05:03:23.54)
相反,我必须将其存储为串行而不是像这样。
Dim timeA() As Variant
timeA = Array(0.0712123842592593, 0.101784953703704, 0.21068912037037)
如何以hh mm ss存储时间。 MSMS?
答案 0 :(得分:1)
试试这个:
Dim timeA() As Variant
timeA = Array(#01:42:32#, #02:26:34#, #05:03:23#)
不幸的是,这不会在几秒钟内起作用。
答案 1 :(得分:0)
试试这个,它有效吗?
Dim timeA() As Variant
timeA = Array("01:42:32.75", "02:26:34.22", "05:03:23.54")
答案 2 :(得分:0)
Timeserial会将小时,分钟和秒转换为时间,但不会处理毫秒。如果您不需要ms,可以使用
Sub storetime()
Dim vaTime As Variant
Dim i As Long
vaTime = Array(TimeSerial(1, 42, 32.75), TimeSerial(2, 26, 34.22), TimeSerial(5, 3, 23.54))
For i = LBound(vaTime) To UBound(vaTime)
Debug.Print Format(vaTime(i), "hh:mm:ss")
Next i
End Sub
您可以添加ms
vaTime = Array(TimeSerial(1, 42, 32) + (0.75 / 24 / 60 / 60), TimeSerial(2, 26, 34) + (0.22 / 24 / 60 / 60), TimeSerial(5, 3, 23) + (0.54 / 24 / 60 / 60))
检查这些值似乎可行,但我无法显示毫秒数,所以我不确定它对你有什么好处。