如何使用VBA在Excel中从PM/AM切换到24小时



AS 4休假盖已经说出了他将24小时切换到PM/AM的问题 - Excel VBA TimeValue格式(HH:MM AM/PM)

我有相反的问题:

我使用以下代码(t = 1,39)

t = wks.Range("G1").Value / 1440
wks.Range("I1").Value = Format(t, "hh:mm:ss")

在公式文本字段中给了我00:01:23,但在单元格中,它的格式为12:01:23 AM。问题是:在单元格中,我也希望将其格式化为00:01:23。如果可能的话 - 我什至只想只有几分钟和几秒钟的时间。 - 但是" nn:ss"给了我1:23:00 am和" MM:SS"给我12:23:00 pm。

我也尝试了一个时间函数,但是单元格中的输出与上述 - 与调试相反。

Public Function FromTimeToDecimal(ByVal t As Double) As Date
FromTimeToDecimal = TimeSerial(0, Fix(t), (t - Fix(t)) * 60)
End Function

所以我基本上不知道

(如果很重要的话,国家设置设置为德国)

我可以复制您的问题,但也可以通过将NumberFormat设置为Comintern提出的建议,可以轻松修复它。

要以编程方式执行此操作,请执行以下操作:

wks.Range("I1").NumberFormat = "General"
wks.Range("I1").Value = Format(t, "nn:ss")

相关内容

最新更新