2016-06-30 1 views
0

원래의 데이터 형이며, [시간] : MM : SS변경 데이터 형식은 엑셀 VBA의 텍스트에

50:53:00 

내가이로 변환하는 방법이

50h 53m 

같은 텍스트 데이터 형식을 변경하려면 엑셀 -vba?

+0

'Selection.Value = Application.Text (Selection.Value, "[h]" "h" "mm" "m" "")'??? –

+0

oh 또는 수식 :'= TEXT (A1, "[h]" "h" "mm" "m" "") ' –

답변

2

vba를 사용하거나 사용하지 않고 설정할 수 있습니다.

1.Without VBA

  • 맞춤 설정에 셀 형식 : HH] "H"mm "m"

2.With VBA

Sub numberf() 

Dim ws As Worksheet 

Set ws = ThisWorkbook.Worksheets(1) 

ws.Range("F1").NumberFormat = "[hh]""h"" mm""m""" 


End Sub 
+0

두 작품. 감사합니다 – Vito

+0

답으로 표시해 주시겠습니까? p, thanks. –

+0

답변으로 표시하는 방법은 무엇입니까? – Vito

0

나는이 같은 UDF 시도 할 것 :

Function ConvertToText(TimeValue As Double) As String 
    Hours = Int(TimeValue * 24) 
    Minutes = Int((TimeValue * 24 - Hours) * 60) 
    ConvertToText = Hours & "h " & Minutes & "m" 
End Function 

내가, 하나 개의 컬럼에서 원래 값을 넣어 다른 하나의 공식을 사용하고, 당신이 원하지 않는 경우 원래 하나를 숨길 줄을 그것을 표시하십시오.

또 다른 옵션은 Sub에 Range를 지정하고 하위를 버튼에 연결 한 다음 하위가 범위 내의 각 셀을 따라 이동하고 변경을 수행하는 것입니다.

+0

UDF가 작동하지 않습니다. 문자열을 사용하여 출력을 저장합니다. 생성 된 결과는 아무 것도 (NULL)입니다. – Vito

+0

'TimeValue'를 숫자 형식으로 선언하거나 적어도'cdate'를 사용해야합니다 ... @vito pls가 도움이되는지 –

+0

원래의'TimeValue'가 이중 형식으로되어 있는지 확인해야합니다. 그러면 이것을 함수에 직접 입력합니다. – Vito

1

할 수 또한 아래 Excel 셀 서식 설정을 수행하십시오.

h\h mm \m