如何在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""") 并单击“确定”以获取下图所示的结果。
结论
在本教程中,我们使用了一个简单的示例来演示如何在Excel中将十进制度数转换为度分。
广告