如何在 Excel 中將十進制度轉換為度、分、秒?
有時,您可能在工作表中有一組以十進制度表示的資料,現在需要將其快速轉換為度、分、秒格式(如下方截圖所示),該如何在 Excel 中輕鬆完成這項轉換?
![]() | ![]() | ![]() |
使用 VBA 將十進制度轉換為度、分、秒
請依照下列步驟,運用 VBA 程式碼將十進制度數轉換為度、分、秒格式。
1. 按住 ALT 鍵並按下 F11,即可開啟 Microsoft Visual Basic for Applications 視窗。
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. 點選確定後,所選數據將立即轉換為度、分、秒格式。請參閱截圖:
![]() | ![]() | ![]() |
提示:使用上述 VBA 程式碼將覆蓋原始資料,建議您在執行程式碼前先備份資料,以免遺失!
使用 VBA 將度、分、秒轉換為十進制度
有時,您可能需要將度/分/秒格式的資料轉換為十進制度,以下 VBA 程式碼可協助您快速完成這項操作。
1. 按住 ALT 鍵並按下 F11,即可開啟 Microsoft Visual Basic for Applications 視窗。
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. 儲存程式碼並關閉此視窗,選取一個空白儲存格(例如 A1 儲存格),輸入公式 =ConvertDecimal("10° 27' 36""")(其中 "10° 27' 36"““ 為您欲轉換為十進制度的角度,可依需求調整),再按下 Enter 鍵即可完成轉換!請參閱截圖:
![]() | ![]() | ![]() |




