Como converter graus decimais em graus, minutos e segundos no Excel?
Por vezes, poderá ter uma lista de dados em graus decimais numa folha de cálculo e precisar de os converter rapidamente para o formato graus, minutos e segundos, como ilustrado nas imagens seguintes. Como pode fazer esta conversão no Excel?
![]() | ![]() | ![]() |
Converter graus decimais em graus, minutos e segundos com VBA
Converter graus, minutos e segundos em graus decimais com VBA
Converter graus decimais em graus, minutos e segundos com VBA
Siga os passos abaixo para converter graus decimais em graus, minutos e segundos utilizando código VBA.
1. Mantenha premida a tecla ALT e prima F11 no teclado para abrir uma janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e copie o código VBA para o módulo.
VBA: Converter grau decimal 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 no botão Executar ou prima F5 para executar o código VBA.
4. É apresentada uma caixa de diálogo no ecrã, onde pode selecionar as células que pretende converter. Veja a imagem:

5. Clique em OK e os dados selecionados serão convertidos em graus, minutos e segundos. Veja a imagem:
![]() | ![]() | ![]() |
Dica: O código VBA acima substitui os seus dados originais, por isso recomendamos que faça uma cópia de segurança antes de o executar.
Converter graus, minutos e segundos em graus decimais com VBA
Por vezes, poderá precisar de converter dados em formato graus/minutos/segundos para graus decimais. O código VBA abaixo permite-lhe concluir esta tarefa de forma rápida e eficaz.
1. Mantenha premida a tecla ALT e prima F11 no teclado para abrir uma janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir>Móduloe copie o código VBA para o módulo.
VBA: Converter 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. Guarde o código e feche esta janela. Selecione uma célula vazia, por exemplo, a célula A1, e introduza a seguinte fórmula: =ConvertDecimal(«10° 27' 36»«») («10° 27' 36"» representa o valor em graus que pretende converter para graus decimais; pode alterá-lo conforme necessário). Em seguida, clique no botão Enter. Veja as imagens:
![]() | ![]() | ![]() |




