KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come si convertono i gradi decimali in gradi, primi e secondi in Excel?

AutoreSun Data di modifica

A volte potresti avere un elenco di dati espressi in gradi decimali in un foglio di lavoro e aver bisogno di convertirli rapidamente nel formato gradi, primi e secondi, come illustrato negli screenshot seguenti. Come puoi effettuare questa conversione in modo rapido in Excel?

dati in gradi decimalifrecciadati in gradi, primi e secondi

Converti i gradi decimali in gradi, primi e secondi con VBA

Converti gradi, primi e secondi in gradi decimali con VBA


freccia blu con fumetto a destra Converti i gradi decimali in gradi, primi e secondi con VBA

Segui i passaggi indicati di seguito per convertire i gradi decimali in gradi, primi e secondi con il codice VBA.

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

2. Fai clic su Inserisci > Modulo e incolla il codice VBA nel modulo.

VBA: Converti gradi decimali in gradi, primi 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. Fai clic sul pulsante Esegui o premi F5 per eseguire il codice VBA.

4. Sullo schermo appare una finestra di dialogo che ti permette di selezionare le celle da convertire. Vedi lo screenshot:

codice VBA per selezionare i dati da convertire

5. Fai clic su OK, quindi i dati selezionati vengono convertiti in gradi, primi e secondi. Vedi lo screenshot:

dati originalifrecciarisultato della conversione

Suggerimento: il codice VBA indicato sopra comporta la perdita dei dati originali, quindi ti consigliamo di crearne una copia prima di eseguirlo.



freccia blu con fumetto a destra Converti gradi, primi e secondi in gradi decimali con VBA

A volte potresti aver bisogno di convertire dati formattati in gradi, primi e secondi in gradi decimali: il seguente codice VBA ti permette di completare questa operazione in modo rapido e semplice.

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

2. Fai clic su Inserisci>Moduloe copia il codice VBA nel modulo.

VBA: Converti gradi, primi 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 questa finestra, seleziona una cella vuota — ad esempio la cella A1 — e inserisci questa formula: =ConvertDecimal(«10° 27' 36»«») («10° 27' 36"» indica il valore in gradi, primi e secondi che desideri convertire in gradi decimali; puoi modificarlo in base alle tue esigenze). Quindi, fai clic sul pulsante Invio. Vedi gli screenshot:

inserire la formulafrecciarisultato della conversione da gradi, primi e secondi a gradi decimali

Articoli correlati