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

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

相關文章