Skip to main content

Come convertire i gradi decimali in gradi, minuti e secondi in Excel?

Author: Sun Last Modified: 2025-05-29

A volte, potresti avere un elenco di dati mostrati come gradi decimali in un foglio di lavoro, e ora devi convertire i gradi decimali nel formato gradi, minuti e secondi come mostrato negli screenshot seguenti. Come puoi eseguire rapidamente questa conversione in Excel?

decimal degrees data arrow degrees minutes seconds data

Convertire i gradi decimali in gradi, minuti e secondi con VBA

Convertire gradi, minuti e secondi in gradi decimali con VBA


arrow blue right bubble Convertire i gradi decimali in gradi, minuti e secondi con VBA

Segui i passaggi seguenti per convertire i gradi decimali in gradi, minuti e secondi utilizzando il codice VBA.

1. Tieni premuto il pulsante ALT e premi F11 sulla tastiera per aprire una finestra di Microsoft Visual Basic for Application.

2. Clicca su Inserisci > Modulo, e copia il codice VBA nel modulo.

VBA: Convertire i gradi decimali in gradi, minuti e secondi

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. Clicca sul pulsante Esegui o premi F5 per eseguire il codice VBA.

4. Verrà visualizzata una finestra di dialogo sullo schermo, e potrai selezionare le celle che desideri convertire. Vedi screenshot:

vba code to select the data to convert

5. Clicca su OK, quindi i dati selezionati verranno convertiti in gradi, minuti e secondi. Vedi screenshot:

original data arrow converting result

Suggerimento: L'utilizzo del codice VBA sopra menzionato farà perdere i tuoi dati originali, quindi è meglio copiare i dati prima di eseguire il codice.



arrow blue right bubble Convertire gradi, minuti e secondi in gradi decimali con VBA

A volte, potresti voler convertire i dati formattati in gradi/minuti/secondi in gradi decimali; il seguente codice VBA può aiutarti a farlo rapidamente.

1. Tieni premuto il pulsante ALT e premi F11 sulla tastiera per aprire una finestra di Microsoft Visual Basic for Application.

2. Clicca su Inserisci > Modulo, e copia il codice VBA nel modulo.

VBA: Convertire gradi, minuti e secondi in gradi decimali

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 il codice e chiudi la finestra, seleziona una cella vuota, ad esempio la cella A1, inserisci questa formula =ConvertDecimal("10° 27' 36""") ("10° 27' 36""" rappresenta il grado che desideri convertire in gradi decimali, puoi modificarlo secondo necessità), quindi clicca sul pulsante Invio. Vedi screenshot:

enter the formula arrow result of converting degrees, minutes, seconds to decimal degrees

Articoli correlati