Hoe decimale graden naar graden, minuten en seconden omzetten in Excel?
Soms heb je een lijst met gegevens die als decimale graden in een werkblad worden weergegeven, en nu moet je de decimale graden omzetten naar een opmaak van graden, minuten en seconden zoals te zien is in de volgende schermafbeeldingen. Hoe kun je deze conversie snel uitvoeren in Excel?
![]() | ![]() | ![]() |
Decimale graden omzetten naar graden, minuten, seconden met VBA
Graden, minuten, seconden omzetten naar decimale graden met VBA
Decimale graden omzetten naar graden, minuten, seconden met VBA
Volg de onderstaande stappen om decimale graden om te zetten naar graden, minuten en seconden met VBA-code.
1. Houd de ALT-knop ingedrukt en druk op F11 op het toetsenbord om een Microsoft Visual Basic for Application-venster te openen.
2. Klik op Invoegen > Module en kopieer de VBA-code naar de module.
VBA: Decimale graad omzetten naar graad, 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 wordt een dialoogvenster op het scherm weergegeven, waarin je de cellen kunt selecteren die je wilt omzetten. Zie screenshot:
5. Klik op OK, vervolgens worden de geselecteerde gegevens omgezet naar graden, minuten en seconden. Zie screenshot:
![]() | ![]() | ![]() |
Tip: Het gebruik van de bovenstaande VBA-code zal je oorspronkelijke gegevens doen verliezen, dus het is beter om de gegevens te kopiëren voordat je de code uitvoert.
Graden, minuten, seconden omzetten naar decimale graden met VBA
Soms wil je misschien de gegevens in graden/minuten/seconden-formaat omzetten naar decimale graden. De volgende VBA-code kan je helpen dit snel te doen.
1. Houd de ALT-knop ingedrukt en druk op F11 op het toetsenbord om een Microsoft Visual Basic for Application-venster te openen.
2. Klik op Invoegen > Module en kopieer de VBA-code naar de module.
VBA: Graad, 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 het venster. Selecteer een lege cel, bijvoorbeeld Cel A1, voer deze formule in =ConvertDecimal("10° 27' 36""") ("10° 27' 36""" staat voor de graad die je wilt omzetten naar decimale graad, je kunt dit aanpassen zoals nodig), en klik vervolgens op de Enter-knop. Zie screenshots:
![]() | ![]() | ![]() |