Wie konvertiert man Dezimalgrade in Grad, Minuten, Sekunden in Excel?
Manchmal haben Sie eine Liste von Daten, die als Dezimalgrade in einem Arbeitsblatt angezeigt werden, und nun müssen Sie die Dezimalgrade in das Format Grad, Minuten und Sekunden umwandeln, wie in den folgenden Screenshots gezeigt. Wie können Sie diese Konvertierung schnell in Excel durchführen?
![]() | ![]() | ![]() |
Dezimalgrade mit VBA in Grad, Minuten, Sekunden umwandeln
Grad, Minuten, Sekunden mit VBA in Dezimalgrade umwandeln
Dezimalgrade mit VBA in Grad, Minuten, Sekunden umwandeln
Bitte folgen Sie den unten aufgeführten Schritten, um Dezimalgrade mit VBA-Code in Grad, Minuten und Sekunden umzuwandeln.
1. Halten Sie die ALT-Taste gedrückt und drücken Sie F11 auf der Tastatur, um ein Microsoft Visual Basic for Applications-Fenster zu öffnen.
2. Klicken Sie auf Einfügen > Modul und kopieren Sie das VBA in das Modul.
VBA: Dezimalgrad in Grad, Minuten und Sekunden umwandeln
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. Klicken Sie auf die Schaltfläche Ausführen oder drücken Sie F5, um das VBA auszuführen.
4. Ein Dialogfeld wird auf dem Bildschirm angezeigt, und Sie können die Zellen auswählen, die Sie konvertieren möchten. Siehe Screenshot:
5. Klicken Sie auf OK, dann werden die ausgewählten Daten in Grad, Minuten und Sekunden umgewandelt. Siehe Screenshot:
![]() | ![]() | ![]() |
Tipp: Die Verwendung des obigen VBA-Codes führt zum Verlust Ihrer ursprünglichen Daten, daher sollten Sie die Daten vor dem Ausführen des Codes besser kopieren.
Grad, Minuten, Sekunden mit VBA in Dezimalgrade umwandeln
Manchmal möchten Sie möglicherweise die Daten im Format Grad/Minuten/Sekunden in Dezimalgrade umwandeln. Der folgende VBA-Code kann Ihnen dabei helfen, dies schnell zu erledigen.
1. Halten Sie die ALT-Taste gedrückt und drücken Sie F11 auf der Tastatur, um ein Microsoft Visual Basic for Applications-Fenster zu öffnen.
2. Klicken Sie auf Einfügen > Modul und kopieren Sie das VBA in das Modul.
VBA: Grad, Minuten und Sekunden in Dezimalgrad umwandeln
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. Speichern Sie den Code und schließen Sie das Fenster. Wählen Sie eine leere Zelle aus, zum Beispiel die Zelle A1, und geben Sie diese Formel ein =ConvertDecimal("10° 27' 36""") ("10° 27' 36""" steht für den Grad, den Sie in Dezimalgrad umwandeln möchten; Sie können ihn nach Bedarf ändern), dann klicken Sie auf die Schaltfläche Eingeben. Siehe Screenshots:
![]() | ![]() | ![]() |