KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中將十進制度轉換為度、分、秒?

作者孫修改日期

有時,您可能在工作表中有一組以十進制度表示的資料,現在需要將其快速轉換為度、分、秒格式(如下方截圖所示),該如何在 Excel 中輕鬆完成這項轉換?

十進制度數資料箭頭度分秒資料

使用 VBA 將十進制度轉換為度、分、秒

使用 VBA 將度、分、秒轉換為十進制度


藍色右向箭頭氣泡 使用 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. 畫面上會彈出一個對話方塊,讓您選擇要轉換的儲存格。請參閱下方截圖:

用於選取要轉換資料的 VBA 程式碼

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 鍵即可完成轉換!請參閱截圖:

輸入公式箭頭將度、分、秒轉換為十進制度數的結果

相關文章