2010-06-22 13 views
101

Excel 매크로에 밀리 초를 표시하려고합니다. 나는 밀리 세컨드 단위의 단순한 타임 스탬프 (예 : 28095200은 7 : 48 : 15.200) 인 정수 열을 가지고 있으며, 옆에 새로운 열을 만들어 실행 평균을 유지하고 시간을 "hh : mm : ss.000 "형식입니다. 여러 경로를 시도했지만 이상한 일이 일어나지 않으면 서 밀리 초를 얻을 수 없습니다.Excel에서 밀리 초 표시

는 여기에 내가 지금 무슨이다 : 어떤 이유

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"가 표시됩니다. 세포에서 시간이없는 이유는 무엇입니까?

또 다른 이상한 일은 마지막 줄을 Strings.Format(ms, "#000.")으로 변경하면 "hh : mm : ss.000"이됩니다. 그게 내가 원하는거야, 여분의 시간이 아니야.

답변

194

B1을 마우스 오른쪽 단추로 클릭하고 셀 서식을 선택하십시오.. 무엇을 당신에게 '를 제공한다

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

:

[h]:mm:ss.000 

당신이 뭔가를 할 수있는 코드에서이 설정하려면 : 사용자 정의에서 텍스트 상자에 다음 유형을 표시 넣어 다시 찾고.

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

+0

예! 그러나 코드에서 그렇게 할 수있는 방법이 있습니까? 이제 매크로를 실행할 때마다 서식이 다시 설정됩니다. (왜냐하면 나는 매크로에서 쉬트를 삭제하고 다시 만들고 있기 때문입니다.) Cel.EntireRow.NumberFormat = "[h] : mm : ss.000"그러나 이것은 셀에 "######"을주었습니다. – Evelyn

+0

@Evelyn - 3 가지 : 1) 숫자 형식을 설정하는 데 필요한 코드를 추가했습니다. 2) 열이 전체 서식있는 텍스트에 맞도록 충분히 넓어야합니다. 위 내 메모를 참조하십시오. 3) 길버트 (Gilbert)의 대답을보고 '라운드 (Round)'기능에서 '3'의 사용에 주목하십시오. 이렇게하면 단지 2 대신에 소수점 3 자리를 얻게됩니다. –

+0

아! 당신 말이 맞아요. 방금 칼럼을 넓힐 필요가있었습니다. 또한이 경우에는 정확도 2를 원했습니다. 나는 단지 형식화되기를 원했다. 3. 도움을 많이 주셔서 감사합니다! – Evelyn

4

내가 Excel에서 이런 짓을이 문장은해야 2000

: ms = Round(temp - Int(temp), 3) * 1000

당신은 내가 Excel 2007에서 발견 한 [h]:mm:ss.000

4

의 결과 셀에 대해 사용자 지정 형식을 만들 필요가 결과가 포함 된 쿼리의 테이블 인 경우 ss.000은 작동하지 않습니다. SQL Server Management Studio에서 쿼리 결과를 붙여 넣을 수 있으며 시간을 정돈 할 수 있습니다. 그러나 Excel에서 데이터 연결로 쿼리를 포함 할 때 형식은 항상 .000을 밀리 초로 나타냅니다.

-3

먼저 날짜 (보통 1/1/1970)로 밀리 세컨드의 시각의 시대를 표현하고 하루에 (86400000)을 밀리 초 단위로 나눈 값 밀리 초 시간을 추가

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

셀의 형식이 올바른 경우 사람이 읽을 수있는 날짜/시간이 표시되어야합니다.

+0

Hi George! 불행히도, OP는 구체적으로 세포가 "올바른 형식"을 이룰 수있는 방법을 요구하는 것처럼 보였습니다. 그들의 원래 접근법은 이미 다루고있는 부분, 즉 밀리 초 타임 스탬프를 형식화 가능한 datetime 값으로 변환하는 방법을 다룹니다. 또한, 6 년으로, 그것은 당신의 시간을 투자하는 오히려 오래된 질문입니다. 귀하의 의견은 새로운 질문에 더 많은 감사 할 것입니다! – Carsten