Excel Fácil: programação para converter decimal para graus, minutos e segundos e contrário
Channel: Prof. Joel Cordeiro da Silva
Date: 2021-09-10

Como inserir a função matemática para fazer esse procedimento no Excel...
Programação em Basic para converter um número decimal para graus, minutos e segundos. Outra para converter Graus, minutos e segundos para decimal.
Function Convert_Graus(Graus_Decimal) As Variant
    With Application
        
        Graus = Int(Graus_Decimal)
        Minutos = (Graus_Decimal - Graus) * 60
        Segundos = Format(((Minutos - Int(Minutos)) * 60), "0")
        
        Convert_Graus = " " & Graus & "° " & Int(Minutos) & "' " & Segundos + Chr(34)
    End With
End Function

-------------------------------------------------------------------------------------------------------------------------
Function Convert_Decimal(Graus_Dec As String) As Double
    

   Dim graus As Double
   Dim minutos As Double
   Dim segundos As Double
   
   Graus_Dec = Replace(Graus_Dec, "~", "°")


   graus = CDbl(Left(Graus_Dec, InStr(1, Graus_Dec, "°") - 1))
   
   minutos = CDbl(Mid(Graus_Dec, InStr(1, Graus_Dec, "°") + 1, _
             InStr(1, Graus_Dec, "'") - InStr(1, Graus_Dec, "°") - 1)) / 60
   
   segundos = CDbl(Mid(Graus_Dec, InStr(1, Graus_Dec, "'") + _
           1, Len(Graus_Dec) - InStr(1, Graus_Dec, "'") - 1)) / 3600

   Convert_Decimal = graus + minutos + segundos

End Function