Cum se convertesc grade zecimale în grade minute secunde în Excel?
Uneori, este posibil să aveți o listă de date afișate ca grade zecimale într-o foaie de lucru și acum trebuie să convertiți formatele zecimale în grade, minute și secunde formatate după cum se arată în următoarele capturi de ecran, cum puteți obține conversația rapid în Excel?
Convertiți grade zecimale în grade, minute, secunde cu VBA
Convertiți grade, minute, secunde în grade zecimale cu VBA
Convertiți grade zecimale în grade, minute, secunde cu VBA
Urmați pașii de mai jos pentru a converti grade zecimale în grade, minute și secunde cu codul VBA.
1. ține ALT și apăsați F11 pe tastatură pentru a deschide un Microsoft Visual Basic pentru aplicație fereastră.
2. clic Insera > Module, și copiați VBA în modul.
VBA: convertiți gradul zecimal în grade, minute și secunde
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. clic Alerga sau apăsați F5 pentru a rula VBA.
4. Un dialog afișat pe ecran și puteți selecta celulele pe care doriți să le convertiți. Vedeți captura de ecran:
5. clic OK, apoi datele selectate sunt convertite în grade, minute și secunde. Vedeți captura de ecran:
varful: Utilizarea codului VBA de mai sus vă va pierde datele originale, deci ar fi mai bine să copiați datele înainte de a rula codul.
Convertiți grade, minute, secunde în grade zecimale cu VBA
Uneori, poate doriți să convertiți datele în grade / minute / secunde formatate în grade zecimale, următorul cod VBA vă poate ajuta să realizați rapid.
1. ține ALApăsați butonul T și apăsați F11 pe tastatură pentru a deschide o fereastră Microsoft Visual Basic pentru aplicație.
2. clic Insera > Module, și copiați VBA în modul.
VBA: convertiți gradul, minutele și secundele în grad zecimal
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. Salvați codul și închideți fereastra, selectați o celulă necompletată, de exemplu, celula A1, introduceți această formulă = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" reprezintă gradul pe care doriți să îl convertiți în grad zecimal, îl puteți modifica după cum doriți), apoi faceți clic pe Intrați buton. Vedeți capturi de ecran: