Excel 如何把十进制的度数转换为度数分秒

Excel 如何把十进制的度数转换为度数分秒

分和秒是比度更基本的测量旋转单位。在测量旋转时,使用分钟可以帮助我们更准确和有效地分析数值。我们可以使用VBA程序将十进制度数转换为度分秒,因为它不能直接在Excel中完成。本教程将帮助你了解我们如何在Excel中把十进制度数转换为度、分和秒。在这里,我们将演示将小数点后的度数转换为度、分、秒,以及将度、分、秒转换为小数点后的度数的两种方法。

将十进制度数转换为度分秒

在这里,我们将首先创建一个VBA模块,然后运行它来完成我们的任务。让我们看看一个简单的过程,了解如何在Excel中使用VBA程序将十进制度数转换为度、分、秒。

第1步

考虑一个Excel工作表,其数据与下图所示的数据相似。

如何在Excel中把十进制的度数转换为度数分秒

现在在工作表名称上点击右键,选择查看代码,打开VBA应用程序,然后点击插入并选择模块。

**右键单击 > 查看代码 > 插入 > 模块 **

如何在Excel中把十进制的度数转换为度数分秒

第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

如何在Excel中把十进制的度数转换为度数分秒

第3步

然后将工作表保存为支持宏的模板,再点击F5运行宏,选择你要覆盖的范围,并点击确定,完成该过程。

如何在Excel中把十进制的度数转换为度数分秒

将十进制的度分秒转换为学位

在这里,我们将首先使用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

如何在Excel中把十进制的度数转换为度数分秒

第2步

现在保存工作表,并在单元格中输入公式=ConvertDecimal(“10° 27′ 36″”),然后点击OK,得到如下图所示的结果。

如何在Excel中把十进制的度数转换为度数分秒

结论

在本教程中,我们用一个简单的例子来演示如何在Excel中把十进制的度数转换为度分。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程