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

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

这是我当前的代码,它不会出错,但它不会正确显示第一个结果(显示00:00:00),并且只停留在第一条logging。

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 

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

 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