Skip to main content

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

Author: Sun Last Modified: 2025-06-03

A veces, puede que tengas una lista de datos mostrados como grados decimales en una hoja de cálculo, y ahora necesitas convertir los grados decimales al formato de grados, minutos y segundos como se muestra en las siguientes capturas de pantalla. ¿Cómo puedes realizar esta conversión rápidamente en Excel?

decimal degrees data arrow degrees minutes seconds data

Convertir grados decimales a grados, minutos y segundos con VBA

Convertir grados, minutos y segundos a grados decimales con VBA


arrow blue right bubble Convertir grados decimales a grados, minutos y segundos con VBA

Por favor, sigue los pasos a continuación para convertir grados decimales a grados, minutos y segundos utilizando código VBA.

1. Mantén presionado el botón ALT y presiona F11 en el teclado para abrir una ventana de Microsoft Visual Basic para Aplicaciones.

2. Haz clic en Insertar > Módulo, y copia 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. Haz clic en el botón Ejecutar o presiona F5 para ejecutar el código VBA.

4. Aparecerá un cuadro de diálogo en la pantalla, y puedes seleccionar las celdas que deseas convertir. Ver captura de pantalla:

vba code to select the data to convert

5. Haz clic en Aceptar, luego los datos seleccionados se convertirán a grados, minutos y segundos. Ver captura de pantalla:

original data arrow converting result

Consejo: Usar el código VBA anterior eliminará tus datos originales, así que es mejor que copies los datos antes de ejecutar el código.



arrow blue right bubble Convertir grados, minutos y segundos a grados decimales con VBA

A veces, puede que desees convertir los datos en formato de grados/minutos/segundos a grados decimales; el siguiente código VBA puede ayudarte a hacerlo rápidamente.

1. Mantén presionado el botón ALT y presiona F11 en el teclado para abrir una ventana de Microsoft Visual Basic para Aplicaciones.

2. Haz clic en Insertar > Módulo, y copia 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. Guarda el código y cierra la ventana, selecciona una celda en blanco, por ejemplo, la Celda A1, introduce esta fórmula =ConvertDecimal("10° 27' 36""") ("10° 27' 36""" representa los grados que deseas convertir a grados decimales, puedes cambiarlo según sea necesario), luego haz clic en el botón Intro. Ver capturas de pantalla:

enter the formula arrow result of converting degrees, minutes, seconds to decimal degrees

Artículos relacionados