Gå til hovedindhold
 

Hvordan konverteres decimalgrader til grader minutter sekunder i Excel?

Forfatter: Sun Sidst ændret: 2024-08-07

Nogle gange har du muligvis en liste over data vist som decimalgrader i et regneark, og nu skal du konvertere decimalgraderne til grader, minutter og sekunder, som vist som følgende skærmbilleder. Hvordan kan du få samtalen hurtigt i Excel?

decimalgrader data pil grader minutter sekunder data

Konverter decimalgrader til grader, minutter, sekunder med VBA

Konverter grader, minutter, sekunder til decimalgrader med VBA


pil blå højre boble Konverter decimalgrader til grader, minutter, sekunder med VBA

Følg nedenstående trin for at konvertere decimalgrader til grader, minutter og sekunder med VBA-kode.

1. Holde ALT og tryk på F11 på tastaturet for at åbne en Microsoft Visual Basic til anvendelse vindue.

2. klik indsatte > Moduler, og kopier VBA til modulet.

VBA: Konverter decimalgrad til grad, minutter og sekunder

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 Kør knappen eller tryk på F5 at køre VBA.

4. En dialog vises på skærmen, og du kan vælge de celler, du vil konvertere. Se skærmbillede:

vba-kode for at vælge de data, der skal konverteres

5. klik OK, så konverteres de valgte data til grad, minutter og sekunder. Se skærmbillede:

originale data pil konverteringsresultat

Tip: Brug af ovenstående VBA-kode mister dine originale data, så du må hellere kopiere dataene, før du kører koden.



pil blå højre boble Konverter grader, minutter, sekunder til decimalgrader med VBA

Nogle gange vil du muligvis konvertere data i grader / minutter / sekunder formatering til decimalgrader, den følgende VBA-kode kan hjælpe dig med hurtigt at få det gjort.

1. Holde ALT-knappen, og tryk på F11 på tastaturet for at åbne et Microsoft Visual Basic til applikationsvindue.

2. klik indsatte > Moduler, og kopier VBA til modulet.

VBA: Konverter grad, minutter og sekunder til decimalgrad

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. Gem koden, og luk vinduet, vælg en tom celle, f.eks. Celle A1, indtast denne formel = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" står for den grad, du vil konvertere til decimalgrad, du kan ændre det efter behov), og klik derefter på Indtast knap. Se skærmbilleder:

indtast formlen pil resultat af konvertering af grader, minutter, sekunder til decimalgrader

Relative artikler