Hvordan konverteres decimalgrader til grader minutter sekunder i Excel?
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?
Konverter decimalgrader til grader, minutter, sekunder med VBA
Konverter grader, minutter, sekunder til decimalgrader med VBA
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:
5. klik OK, så konverteres de valgte data til grad, minutter og sekunder. Se skærmbillede:
Tip: Brug af ovenstående VBA-kode mister dine originale data, så du må hellere kopiere dataene, før du kører koden.
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: