Hoe decimale graden om te zetten in graden minuten seconden in Excel?
Soms heeft u mogelijk een lijst met gegevens die als decimale graden in een werkblad worden weergegeven, en nu moet u de decimale graden converteren naar de opmaak van graden, minuten en seconden, zoals weergegeven in de volgende schermafbeeldingen, hoe kunt u het gesprek snel in Excel krijgen?
Converteer decimale graden naar graden, minuten, seconden met VBA
Converteer graden, minuten, seconden naar decimale graden met VBA
Converteer decimale graden naar graden, minuten, seconden met VBA
Volg de onderstaande stappen om decimale graden om te zetten in graden, minuten en seconden met VBA-code.
1. Houden ALT knop en druk op F11 op het toetsenbord om een Microsoft Visual Basic voor toepassing venster.
2. klikken Invoegen > Moduleen kopieer de VBA naar de module.
VBA: converteer decimale graden naar graden, minuten en seconden
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. klikken lopen knop of druk op F5 om de VBA uit te voeren.
4. Er wordt een dialoogvenster op het scherm weergegeven en u kunt de cellen selecteren die u wilt converteren. Zie screenshot:
5. klikken OK, dan worden de geselecteerde gegevens omgezet in graden, minuten en seconden. Zie screenshot:
Tip: Als u de bovenstaande VBA-code gebruikt, gaan uw originele gegevens verloren, dus u kunt de gegevens beter kopiëren voordat u de code uitvoert.
Converteer graden, minuten, seconden naar decimale graden met VBA
Soms wilt u de gegevens in graden / minuten / seconden opmaak converteren naar decimale graden, de volgende VBA-code kan u helpen dit snel voor elkaar te krijgen.
1. Houden ALT-knop en druk op F11 op het toetsenbord om een Microsoft Visual Basic for Application-venster te openen.
2. klikken Invoegen > Moduleen kopieer de VBA naar de module.
VBA: converteer graden, minuten en seconden naar decimale graden
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. Sla de code op en sluit het venster, selecteer een lege cel, bijvoorbeeld Cel A1, voer deze formule in = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" staat voor de graad die u naar decimale graden wilt converteren, u kunt deze naar behoefte wijzigen) en klik vervolgens op Enter knop. Zie screenshots: