[excel] Excel에서 밀리 초 표시

Excel 매크로에서 밀리 초를 표시하려고합니다. 밀리 초 단위의 타임 스탬프 인 정수 열이 있고 (예 : 28095200은 오전 7 : 48 : 15.200) 실행 평균을 유지하고 hh:mm:ss.000형식으로 시간을 표시하는 새 열을 그 옆에 만들고 싶습니다 .

 Dim Cel As Range
 Set Cel = Range("B1")
 temp = Application.Average(Range("A1:A2")) / 1000
 ms = Round(temp - Int(temp), 2) * 1000
 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
                & "." & Strings.Format(ms, "#000")

셀에 “mm : ss.0″만 표시됩니다. 그러나 셀을 클릭하면 수식 입력 줄에 “hh : mm : ss”가 표시됩니다. 시간이 누락 된 이유는 무엇입니까? 시간, 분, 초 및 밀리 초를 어떻게 표시 할 수 있습니까?



답변

셀을 마우스 오른쪽 버튼으로 클릭하고 셀 서식을B1 선택합니다 . 에서 사용자 는 텍스트 상자 표지에 다음과 같은 넣어 유형 :

[h]:mm:ss.000 

코드에서이를 설정하려면 다음과 같이 할 수 있습니다.

Range("A1").NumberFormat = "[h]:mm:ss.000"

그것은 당신이 찾고있는 것을 당신에게 줄 것입니다.

참고 : 특수 서식이 지정된 필드에서는 서식이 지정된 텍스트의 전체 내용에 대해 열 너비가 충분히 넓어야하는 경우가 많습니다. 그렇지 않으면 텍스트가로 표시됩니다 ######.


답변

Excel 2007에서 결과가 포함 된 쿼리의 테이블 인 경우 ss.000이 작동하지 않음을 발견했습니다. 쿼리 결과 (SQL Server Management Studio에서)를 붙여넣고 시간 형식을 지정할 수 있습니다. 그러나 쿼리를 Excel의 데이터 연결로 포함하면 형식은 항상 .000을 밀리 초로 제공합니다.


답변

Excel 2000에서이 작업을 수행했습니다.

이 문장은 다음과 같아야합니다. ms = Round(temp - Int(temp), 3) * 1000

결과 셀에 대한 사용자 정의 형식을 만들어야합니다. [h]:mm:ss.000


답변

먼저 밀리 초 시간의 시대를 날짜 (일반적으로 1/1/1970)로 표시 한 다음 밀리 초 시간을 하루의 밀리 초 수 (86400000)로 나눈 값을 추가합니다.

=DATE(1970,1,1)+(A1/86400000)

셀 형식이 적절하면 사람이 읽을 수있는 날짜 / 시간이 표시되어야합니다.


답변