KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo convertir grados decimales a grados, minutos y segundos en Excel?

AutorSun Fecha de modificación

A veces, puede tener una lista de datos en grados decimales en una hoja de cálculo y necesitar convertirlos rápidamente al formato de grados, minutos y segundos, como se muestra en las siguientes capturas de pantalla. ¿Cómo puede hacer esta conversión en Excel?

datos en grados decimalesflechadatos en grados, minutos y segundos

Convertir grados decimales a grados, minutos y segundos con VBA

Convertir grados, minutos y segundos a grados decimales con VBA


flecha azul con burbuja derecha Convertir grados decimales a grados, minutos y segundos con VBA

Siga los pasos que se indican a continuación para convertir grados decimales en grados, minutos y segundos mediante código VBA.

1. Mantenga pulsada la tecla ALT y pulse F11 en el teclado para abrir una ventana de Microsoft Visual Basic para Aplicaciones.

2. Haga clic en Insertar > Módulo y copie el código VBA en el módulo.

VBA: Convertir grados decimales a 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. Haga clic en el botón Ejecutar o pulse F5 para ejecutar el código VBA.

4. Aparecerá un cuadro de diálogo en pantalla donde podrá seleccionar las celdas que desee convertir. Vea la captura de pantalla:

código VBA para seleccionar los datos a convertir

5. Haga clic en Aceptar y los datos seleccionados se convertirán en grados, minutos y segundos. Vea la captura de pantalla:

datos originalesflecharesultado de la conversión

Consejo: Al usar el código VBA anterior, se perderán los datos originales, así que te recomendamos copiarlos antes de ejecutarlo.



flecha azul con burbuja derecha Convertir grados, minutos y segundos a grados decimales con VBA

A veces, es posible que desee convertir datos en formato de grados, minutos y segundos a grados decimales. El siguiente código VBA le ayudará a realizar esta tarea de forma rápida y sencilla.

1. Mantenga pulsada la tecla ALT y pulse F11 en el teclado para abrir una ventana de Microsoft Visual Basic para Aplicaciones.

2. Haga clic en Insertar>Móduloy copie el código VBA en el módulo.

VBA: Convertir 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 esta ventana. Seleccione una celda vacía, por ejemplo, la celda A1, e introduzca esta fórmula:=ConvertDecimal(«10° 27' 36»«»)(«10° 27' 36»«» representa el valor en grados que desea convertir a formato decimal; puede modificarlo según sus necesidades). A continuación, pulse la tecla Intro. Vea las capturas de pantalla:

introduzca la fórmulaflecharesultado de la conversión de grados, minutos y segundos a grados decimales

Artículos relacionados