Excel에서 십진수도를 분 초로 변환하는 방법은 무엇입니까?
때로는 워크 시트에 십진수로 표시된 데이터 목록이있을 수 있으며, 이제 다음 스크린 샷과 같이 십진수를도, 분 및 초 형식으로 변환해야합니다. Excel에서 대화를 빠르게 얻을 수있는 방법은 무엇입니까?
VBA를 사용하여 십진수를도, 분, 초로 변환
VBA 코드를 사용하여 십진수도를도, 분, 초로 변환하려면 아래 단계를 따르십시오.
1. 보류 ALT 버튼을 눌러 F11 키보드에서 응용 프로그램용 Microsoft Visual Basic 창.
2. 클릭 끼워 넣다 > 모듈을 클릭하고 VBA를 모듈에 복사합니다.
VBA : 십진수를도, 분 및 초로 변환
Sub ConvertDegree()
'Update 20130815
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
num1 = Rng.Value
num2 = (num1 - Int(num1)) * 60
num3 = Format((num2 - Int(num2)) * 60, "00")
Rng.Value = Int(num1) & "°" & Int(num2) & "'" & Int(num3) & "''"
Next
End Sub
3. 클릭 달리기 버튼을 누르거나 누르십시오. F5 VBA를 실행합니다.
4. 화면에 표시되는 대화 상자에서 변환 할 셀을 선택할 수 있습니다. 스크린 샷보기 :
5. 클릭 OK, 그러면 선택한 데이터가도, 분 및 초로 변환됩니다. 스크린 샷보기 :
팁: 위의 VBA 코드를 사용하면 원본 데이터가 손실되므로 코드를 실행하기 전에 데이터를 복사하는 것이 좋습니다.
VBA를 사용하여도, 분, 초를 십진수로 변환
경우에 따라도 / 분 / 초 형식의 데이터를 십진수로 변환해야 할 수 있습니다. 다음 VBA 코드를 사용하면 신속하게 처리 할 수 있습니다.
1. 보류 ALT 버튼을 누르고 F11 키보드에서 Microsoft Visual Basic for Application 창을 엽니 다.
2. 클릭 끼워 넣다 > 모듈을 클릭하고 VBA를 모듈에 복사합니다.
VBA :도, 분, 초를 십진수로 변환
Function ConvertDecimal(pInput As String) As Double
'Updateby20140227
Dim xDeg As Double
Dim xMin As Double
Dim xSec As Double
xDeg = Val(Left(pInput, InStr(1, pInput, "°") - 1))
xMin = Val(Mid(pInput, InStr(1, pInput, "°") + 2, _
InStr(1, pInput, "'") - InStr(1, pInput, _
"°") - 2)) / 60
xSec = Val(Mid(pInput, InStr(1, pInput, "'") + _
2, Len(pInput) - InStr(1, pInput, "'") - 2)) _
/ 3600
ConvertDecimal = xDeg + xMin + xSec
End Function
3. 코드를 저장하고 창을 닫고 빈 셀 (예 : Cell A1)을 선택하고 다음 수식을 입력합니다. = ConvertDecimal ( "10 ° 27 '36" "") ( "10 ° 27 '36" ""는 십진수로 변환하려는 각도를 의미하며 필요에 따라 변경할 수 있습니다.) 엔터 버튼 단추. 스크린 샷보기 :