Excel VBA将秒转换为HH:MM:SS

时间:2016-06-20 21:53:07

标签: excel vba excel-vba

尝试通过整个工作表转换特定列中的特定数据。

这是我当前的代码,它没有错误输出,但是它没有正确显示第一个结果(显示00:00:00),并且只在第一个记录处停止。

Sub CleanEntry()
    Dim i As Integer
    Dim Seconds As Integer
    Dim j As Long
Dim c As Long
j = 2

For i = Sheet1.UsedRange.Rows.Count To 1 Step -1
c = Range("B" & j).Value
c = c / 86400
Range("B" & j).Value = Format(c, "hh:mm:ss")
j = j + 1
Next
End Sub

1 个答案:

答案 0 :(得分:4)

虽然我不明白为什么你使用两个计数器,一个倒退而另一个倒转,这可以用一行完成:

Sub CleanEntry()
    Dim i As Long
    Dim j As Long

j = 2

For i = Sheet1.UsedRange.Rows.Count To 1 Step -1
    Range("B" & j).Value = Format(TimeSerial(0, 0, Range("B" & j).Value), "hh:mm:ss")
    j = j + 1
Next
End Sub