Jak převést desetinné stupně na stupně minuty sekund v aplikaci Excel?
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?
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
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:
5. cvaknutí OK, pak se vybraná data převedou na stupně, minuty a sekundy. Viz snímek obrazovky:
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.
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: