Ir para o conteúdo principal

Como converter graus decimais em graus, minutos e segundos no Excel?

Autor: Sol Última modificação: 2024-08-07

Às vezes, você pode ter uma lista de dados mostrados como graus decimais em uma planilha, e agora você precisa converter os graus decimais em graus, minutos e segundos, formatando conforme mostrado nas imagens a seguir, como você pode obter a conversa rapidamente no Excel?

dados de graus decimais flecha graus minutos segundos dados

Converta graus decimais em graus, minutos e segundos com VBA

Converta graus, minutos e segundos em graus decimais com VBA


seta azul bolha direita Converta graus decimais em graus, minutos e segundos com VBA

Siga as etapas abaixo para converter graus decimais em graus, minutos e segundos com o código VBA.

1. Segure ALT pressione e pressione F11 no teclado para abrir um Microsoft Visual Basic para aplicativos janela.

2. Clique inserção > Móduloe copie o VBA para o módulo.

VBA: converte graus decimais em graus, minutos e 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. Clique Execute ou pressione F5 para executar o VBA.

4. Uma caixa de diálogo exibida na tela, e você pode selecionar as células que deseja converter. Veja a imagem:

código vba para selecionar os dados a serem convertidos

5. Clique OK, então os dados selecionados são convertidos em graus, minutos e segundos. Veja a imagem:

dados originais flecha resultado da conversão

Dica: Usar o código VBA acima irá perder seus dados originais, então é melhor você copiar os dados antes de executar o código.



seta azul bolha direita Converta graus, minutos e segundos em graus decimais com VBA

Às vezes, você pode querer converter os dados na formatação de graus / minutos / segundos em graus decimais. O código VBA a seguir pode ajudá-lo a fazer isso rapidamente.

1. Segure ALBotão T e pressione F11 no teclado para abrir uma janela do Microsoft Visual Basic for Application.

2. Clique inserção > Móduloe copie o VBA para o módulo.

VBA: Converte graus, minutos e segundos em graus decimais

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. Salve o código e feche a janela, selecione uma célula em branco, por exemplo, a Célula A1, insira esta fórmula = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" representa o grau que você deseja converter em decimal, você pode alterá-lo conforme necessário) e clique em Entrar botão. Veja as capturas de tela:

insira a fórmula flecha resultado da conversão de graus, minutos e segundos em graus decimais

Artigos relativos