Hoe zet u decimale graden om naar graden, minuten en seconden in Excel?
Soms hebt u een lijst met gegevens in decimale graden in een werkblad en moet u deze omzetten naar de notatie van graden, minuten en seconden, zoals te zien in de volgende schermafbeeldingen. Hoe voert u deze conversie snel uit in Excel?
![]() | ![]() | ![]() |
Decimale graden omzetten naar graden, minuten en seconden met VBA
Graden, minuten en seconden omzetten naar decimale graden met VBA
Decimale graden omzetten naar graden, minuten en seconden met VBA
Volg onderstaande stappen om decimale graden om te zetten naar graden, minuten en seconden met behulp van VBA-code.
1. Houd de ALT-toets ingedrukt en druk op F11 op het toetsenbord om een Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module en plak de VBA-code in de module.
VBA: Decimale graad omzetten naar graden, minuten en seconden
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. Klik op de knop Uitvoeren of druk op F5 om de VBA-code uit te voeren.
4. Er verschijnt een dialoogvenster op het scherm; selecteer daarin de cellen die u wilt converteren. Zie schermafbeelding:

5. Klik op OK, waarna de geselecteerde gegevens worden omgezet naar graden, minuten en seconden. Zie schermafbeelding:
![]() | ![]() | ![]() |
Tip: De bovenstaande VBA-code overschrijft uw oorspronkelijke gegevens, dus maak eerst een kopie van uw gegevens voordat u de code uitvoert.
Graden, minuten en seconden omzetten naar decimale graden met VBA
Soms wilt u gegevens in de notatie graden/minuten/seconden omzetten naar decimale graden. De volgende VBA-code helpt u dit snel en eenvoudig te doen.
1. Houd de ALT-toets ingedrukt en druk op F11 op het toetsenbord om een Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen>Module, en kopieer de VBA-code naar de module.
VBA: Graden, minuten en seconden omzetten naar decimale graad
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. Sla de code op en sluit dit venster. Selecteer een lege cel, bijvoorbeeld cel A1, en voer de volgende formule in:=ConvertDecimal("10° 27' 36"„") (waarbij „10° 27' 36""" staat voor de graad die u naar een decimale graad wilt omzetten; u kunt deze naar wens aanpassen). Druk daarna op de knop Enter. Zie schermafbeeldingen:
![]() | ![]() | ![]() |




