跳到主要内容
 

如何在Excel中将十进制度转换为分钟分秒?

作者:孙 最后修改时间:2024-08-07

有时,工作表中可能有以十进制度显示的数据列表,现在您需要将十进制度转换为度,分钟和秒格式,如以下屏幕截图所示,如何在Excel中快速进行对话?

十进制度数据 箭头 度分秒数据

使用VBA将十进制度数转换为度,分,秒

使用VBA将度,分,秒转换为十进制度


箭头蓝色右气泡 使用VBA将十进制度数转换为度,分,秒

请按照以下步骤使用VBA代码将十进制度数转换为度,分和秒。

1.按住 ALT 按钮并按下 F11 在键盘上打开一个 Microsoft Visual Basic应用程序 窗口。

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。 点击 OK,然后将所选数据转换为度,分钟和秒。 看截图:

原始数据 箭头 转换结果

Tips::使用上述VBA代码将丢失原始数据,因此最好在运行代码之前复制数据。



箭头蓝色右气泡 使用VBA将度,分,秒转换为十进制度

有时,您可能希望将以度/分/秒为单位的数据格式转换为十进制度,下面的VBA代码可以帮助您快速完成。

1.按住 ALT按钮并按 F11 在键盘上打开“ Microsoft Visual Basic for Application”窗口。

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.保存代码并关闭窗口,选择一个空白单元格,例如Cell A1,输入此公式 = ConvertDecimal(“ 10°27'36”“”) (“ 10°27'36”“”代表要转换为十进制的度,您可以根据需要进行更改),然后单击 输入 按钮。 查看屏幕截图:

输入公式 箭头 将度、分、秒转换为十进制度的结果

相关文章