¿Cómo convertir grados decimales a grados, minutos, segundos en Excel?
A veces, es posible que tenga una lista de datos mostrada como grados decimales en una hoja de trabajo, y ahora necesita convertir los grados decimales al formato de grados, minutos y segundos como se muestra en las siguientes capturas de pantalla, ¿cómo puede obtener la conversación rápidamente en Excel?
Convierta grados decimales a grados, minutos, segundos con VBA
Convierta grados, minutos, segundos a grados decimales con VBA
Convierta grados decimales a grados, minutos, segundos con VBA
Siga los pasos a continuación para convertir grados decimales a grados, minutos y segundos con código VBA.
1. Sostener ALT botón y prensa F11 en el teclado para abrir un Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Móduloy copie el VBA en el módulo.
VBA: convierte grados decimales en grados, minutos y segundos
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. Hacer clic en Ejecutar botón o prensa F5 para ejecutar el VBA.
4. Aparece un cuadro de diálogo en la pantalla, y puede seleccionar las celdas que desea convertir. Ver captura de pantalla:
5. Hacer clic en OK, luego los datos seleccionados se convierten en grados, minutos y segundos. Ver captura de pantalla:
Consejo: El uso del código VBA anterior perderá sus datos originales, por lo que será mejor que copie los datos antes de ejecutar el código.
Convierta grados, minutos, segundos a grados decimales con VBA
A veces, es posible que desee convertir los datos en formato de grados / minutos / segundos a grados decimales, el siguiente código VBA puede ayudarlo a hacerlo rápidamente.
1. Sostener ALBotón T y presione F11 en el teclado para abrir una ventana de Microsoft Visual Basic para aplicaciones.
2. Hacer clic en recuadro > Móduloy copie el VBA en el módulo.
VBA: convierte grados, minutos y segundos a grados decimales
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. Guarde el código y cierre la ventana, seleccione una celda en blanco, por ejemplo, la Celda A1, ingrese esta fórmula = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" representa el grado que desea convertir a grado decimal, puede cambiarlo según lo necesite), luego haga clic en Participar botón. Ver capturas de pantalla: