2016-06-20 2 views
0

전체 워크 시트를 통해 특정 열의 특정 데이터를 변환하려고합니다.Excel VBA 초를 HH로 변환 : MM : SS

이것은 현재 코드이며, 오류가 발생하지 않지만 첫 번째 결과가 올바르게 표시되지 않습니다 (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

'때문에, 당신을 'c = c/86400'로 상당한 양의 정보를 잃어 가고 있습니다 –

+0

아마 이중으로 저장 하시겠습니까? – CeFu

+0

Long은 10 진수를 제거한다는 점에서 정수와 같습니다. 그리고 시간은 10 진수이므로 시간을 완전히 제거합니다. 네, 그렇습니다. –

답변

3

: c`는 긴

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 
+0

이 문제는 완전히 해결되었습니다. 나는 TimeSerial을 전혀 생각하지 않았다. 감사! – CeFu

관련 문제