如何在Excel中显示hh:mm:ss?

时间:2015-06-15 08:05:14

标签: vba excel-vba time excel

我是Excel VBA的新手。我想设置一个循环,显示新单元格中每分钟的时间。

有没有办法在单元格中只显示时间(hh:mm:ss)而不会看到它旁边的日期?另外,我喜欢显示的时区。 (例如新加坡时间," SGT")。

以下是我希望看到的输出示例:

23-Oct-13 10:00:00 AM SGT
23-Oct-13 10:01:00 AM SGT
23-Oct-13 10:02:00 AM SGT
23-Oct-13 10:03:00 AM SGT
23-Oct-13 10:04:00 AM SGT
23-Oct-13 10:05:00 AM SGT
23-Oct-13 10:06:00 AM SGT
23-Oct-13 10:07:00 AM SGT
23-Oct-13 10:08:00 AM SGT
23-Oct-13 10:09:00 AM SGT
23-Oct-13 10:10:00 AM SGT
23-Oct-13 10:11:00 AM SGT
23-Oct-13 10:12:00 AM SGT
23-Oct-13 10:13:00 AM SGT
23-Oct-13 10:14:00 AM SGT
23-Oct-13 10:15:00 AM SGT
23-Oct-13 10:16:00 AM SGT
23-Oct-13 10:17:00 AM SGT
23-Oct-13 10:18:00 AM SGT
23-Oct-13 10:19:00 AM SGT
23-Oct-13 10:20:00 AM SGT
...

3 个答案:

答案 0 :(得分:4)

这应该做到,玩得开心。 :-)

Option Explicit
Sub test()
    Dim i&, sTime As Date, TimeStep As Date, Cell As Range
    '// Format range cell to 24Hrs
    With Range("A1:A1440") '// 24H*60M
        .NumberFormat = "HH:MM:SS;@"
    End With

    Set Cell = [A1] '// first cell to write
        sTime = "00:00:00"  '// start time
    '// Loop 24hrs
    TimeStep = "00:01:00" '// time increment
    For i = 0 To 1439 ' // 1439 means 1439 cells
        Cell.Offset(i, 0).Value = sTime
        sTime = sTime + TimeStep
    Next i
End Sub

开始

enter image description here

结束

enter image description here

答案 1 :(得分:3)

好的,既然你已经解释得更深入了,

ActiveSheet.Cells(1, 1).Value = "00:00:00"
ActiveSheet.Cells(2, 1).Value = "00:01:00"
Range("A1:A2").Select
Selection.AutoFill Destination:=Range("A1:A1440"), Type:=xlFillDefault

应该做的伎俩

答案 2 :(得分:0)

要检索时间格式,您可以使用:

=Mid(A1,11,8)*1 into function bar (with additional column)

或进入子

timeOnClock = Mid(MyString, 10, 9)*1

然后是第一行 (23-Oct-13 10:00:00 AM SGT) you retrieve 0,416666667 ,您可以选择自己喜欢的格式