Přejít k hlavnímu obsahu
 

Jak převést desetinné stupně na stupně minuty sekund v aplikaci Excel?

Autor: Sun Naposledy změněno: 2024-08-07

Někdy můžete mít v listu seznam dat zobrazených jako desetinná čísla a nyní musíte převést desetinné stupně na formátování stupňů, minut a sekund, jak je znázorněno na následujících screenshotech, jak můžete rychle získat konverzaci v aplikaci Excel?

údaje o desetinných stupních šipka údaje ve stupních minutách sekundách

Převádějte desetinná místa na stupně, minuty, sekundy pomocí VBA

Převádějte stupně, minuty, sekundy na desetinné stupně pomocí VBA


šipka modrá pravá bublina Převádějte desetinná místa na stupně, minuty, sekundy pomocí VBA

Podle následujících pokynů převeďte desetinné stupně na stupně, minuty a sekundy pomocí kódu VBA.

1. Držet ALT a stiskněte tlačítko F11 na klávesnici otevřete a Microsoft Visual Basic pro aplikaci okno.

2. cvaknutí Vložit > Modula zkopírujte VBA do modulu.

VBA: Převést desetinné stupně na stupně, minuty a sekundy

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. cvaknutí Běh nebo stiskněte tlačítko F5 spustit VBA.

4. Na obrazovce se zobrazí dialogové okno, kde můžete vybrat buňky, které chcete převést. Viz snímek obrazovky:

vba kód pro výběr dat pro převod

5. cvaknutí OK, pak se vybraná data převedou na stupně, minuty a sekundy. Viz snímek obrazovky:

původní data šipka výsledek převodu

Tip: Použitím výše uvedeného kódu VBA přijdete o původní data, takže před spuštěním kódu je raději zkopírujte.



šipka modrá pravá bublina Převádějte stupně, minuty, sekundy na desetinné stupně pomocí VBA

Někdy možná budete chtít převést data ve formátu stupňů / minut / sekund na desítkové stupně, následující kód VBA vám pomůže rychle to udělat.

1. Držet ALTlačítko T a stiskněte F11 na klávesnici otevřete okno Microsoft Visual Basic for Application.

2. cvaknutí Vložit > Modula zkopírujte VBA do modulu.

VBA: Převádějte stupně, minuty a sekundy na desítkové stupně

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. Uložte kód a zavřete okno, vyberte prázdnou buňku, například buňku A1, zadejte tento vzorec = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" označuje stupeň, který chcete převést na desetinný stupeň, můžete jej změnit podle potřeby), poté klikněte vstoupit knoflík. Zobrazit snímky obrazovky:

zadejte vzorec šipka výsledek převodu stupňů, minut, sekund na desetinné stupně

Relativní články