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

CeF*_*eFu 0 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
Run Code Online (Sandbox Code Playgroud)

Sco*_*ner 5

虽然我不明白为什么你要使用两个计数器,一个向后,另一个向前,但这可以用一行完成:

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
Run Code Online (Sandbox Code Playgroud)