Excel 如何把十进制的度数转换为度数分秒
分和秒是比度更基本的测量旋转单位。在测量旋转时,使用分钟可以帮助我们更准确和有效地分析数值。我们可以使用VBA程序将十进制度数转换为度分秒,因为它不能直接在Excel中完成。本教程将帮助你了解我们如何在Excel中把十进制度数转换为度、分和秒。在这里,我们将演示将小数点后的度数转换为度、分、秒,以及将度、分、秒转换为小数点后的度数的两种方法。
将十进制度数转换为度分秒
在这里,我们将首先创建一个VBA模块,然后运行它来完成我们的任务。让我们看看一个简单的过程,了解如何在Excel中使用VBA程序将十进制度数转换为度、分、秒。
第1步
考虑一个Excel工作表,其数据与下图所示的数据相似。
现在在工作表名称上点击右键,选择查看代码,打开VBA应用程序,然后点击插入并选择模块。
**右键单击 > 查看代码 > 插入 > 模块 **
第2步
然后,如下图所示,在文本框中输入程序1。
例子
Sub ConvertDegree()
'Updated By Nirmal
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Select the range"
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来创建一个模块,然后运行它来完成我们的任务。让我们看看将十进制的度分转换为度的简单程序。
第1步
让我们考虑一个新的Excel工作表,右键点击工作表名称,选择查看代码,打开一个VBA应用程序。
然后点击插入,选择模块,并在文本框中输入程序2,如下图所示。
例子
Function ConvertDecimal(pInput As String) As Double
'Update by nirmal
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
第2步
现在保存工作表,并在单元格中输入公式=ConvertDecimal(“10° 27′ 36″”),然后点击OK,得到如下图所示的结果。
结论
在本教程中,我们用一个简单的例子来演示如何在Excel中把十进制的度数转换为度分。