Help and Support

Identificativo articolo: 213449 - Ultima modifica: lunedì 13 agosto 2007 - Revisione: 4.4

Conversione di angoli in gradi/minuti/secondi in e da angoli decimali in Excel 2000

Per la versione di questo articolo relativa a Microsoft Excel 97, vedere 121944  (http://support.microsoft.com/kb/121944/ ) ..

Per la versione di questo articolo relativa a Microsoft Excel 98, vedere 192367  (http://support.microsoft.com/kb/192367/ ) .

In questa pagina

Espandi tutto | Chiudi tutto

Sommario

Le misure angolari vengono normalmente espresse in unità di gradi, minuti e secondi. Un grado equivale a 60 minuti e un minuto a 60 secondi. Per semplificare alcuni calcoli matematici, può essere utile esprimere le misure angolari in gradi e frazioni decimali di gradi.

In questo articolo è inclusa una funzione personalizzata di esempio che è possibile utilizzare per convertire un valore in gradi memorizzato in formato decimale in un valore in gradi/minuti/secondi memorizzato in formato testo. Viene inoltre fornita una funzione di esempio per convertire un valore in gradi/minuti/secondi in un valore in gradi memorizzato in formato decimale.

Informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presume che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare procedura, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o creare procedure atte a soddisfare specifiche esigenze. Se si dispone di esperienza di programmazione limitata, si consiglia di contattare un Microsoft Certified Partner o la filiale Microsoft locale per informazioni sulla consulenza tecnica. Per ulteriori informazioni in merito ai Microsoft Certified Partner, visitare il seguente sito Web Microsoft:
https://solutionfinder.microsoft.com (http://www.microsoft.com/partner/referral/)
Per ulteriori informazioni sulle opzioni di supporto disponibili e su come contattare Microsoft, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;%5Bln%5D;cntactms)

Conversione di gradi decimali in gradi/minuti/secondi

Mediante la seguente funzione personalizzata di Microsoft Visual Basic, Applications Edition viene accettato un angolo formattato come valore decimale e viene convertito in un valore di testo visualizzato in gradi, minuti e secondi.

Function Convert_Degree(Decimal_Deg) As Variant
    With Application
        'Set degree to Integer of Argument Passed
        Degrees = Int(Decimal_Deg)
        'Set minutes to 60 times the number to the right
        'of the decimal for the variable Decimal_Deg
        Minutes = (Decimal_Deg - Degrees) * 60
        'Set seconds to 60 times the number to the right of the
        'decimal for the variable Minute
        Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")
        'Returns the Result of degree conversion
       '(for example, 10.46 = 10~ 27  ' 36")
        Convert_Degree = " " & Degrees & "° " & Int(Minutes) & "' " _
            & Seconds + Chr(34)
    End With
End Function
				
Per utilizzare questa funzione, creare una formula di conversione, come nell'esempio seguente:
  1. Avviare Excel e premere ALT+F11 per visualizzare Visual Basic Editor.
  2. Scegliere Modulo dal menu Inserisci.
  3. Immettere il codice di esempio per la funzione personalizzata Convert_Degree descritta in precedenza nel foglio del modulo.
  4. Premere ALT+F11 per tornare a Excel.
  5. Nella cella A1 digitare 10.46
  6. Nella cella A2 digitare la formula seguente:
    =Convert_Degree(A1)


    Questa formula restituisce 10°27'36".

Conversione di gradi/minuti/secondi in gradi decimali

Mediante la seguente funzione personalizzata di Microsoft Visual Basic, Applications Edition viene accettata una stringa di testo di gradi, minuti e secondi formattata nello stesso esatto formato restituito dalla funzione Convert_Degree (ad esempio, 10° 27' 36") e viene convertita in un angolo formattato come valore decimale. È esattamente il contrario della funzione personalizzata Convert_Degree.

AVVISO: questa funzione personalizzata non viene eseguita se l'argomento Degree_Deg non è espresso nel seguente formato
<gradi>° <minuti>' <secondi>"
anche se il valore dei secondi è 0.
Function Convert_Decimal(Degree_Deg As String) As Double
   ' Declare the variables to be double precision floating-point.
   Dim degrees As Double
   Dim minutes As Double
   Dim seconds As Double
   ' Set degree to value before "°" of Argument Passed.
   degrees = Val(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))
   ' Set minutes to the value between the "°" and the "'"
   ' of the text string for the variable Degree_Deg divided by
   ' 60. The Val function converts the text string to a number.
   minutes = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 2, _
             InStr(1, Degree_Deg, "'") - InStr(1, Degree_Deg, _
             "°") - 2)) / 60
    ' Set seconds to the number to the right of "'" that is
    ' converted to a value and then divided by 3600.
    seconds = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "'") + _
            2, Len(Degree_Deg) - InStr(1, Degree_Deg, "'") - 2)) _
            / 3600
   Convert_Decimal = degrees + minutes + seconds
End Function
				
Per utilizzare questa funzione, creare una formula di conversione come nell'esempio seguente:
  1. Avviare Excel e premere ALT+F11 per visualizzare Visual Basic Editor.
  2. Scegliere Modulo dal menu Inserisci.
  3. Immettere il codice di esempio per la funzione personalizzata Convert_Decimal descritta in precedenza nel foglio del modulo.
  4. Premere ALT+F11 per tornare a Excel.
  5. Nella cella A1 digitare la formula seguente:
    =Convert_Decimal("10° 27' 36""")
    NOTA: è necessario digitare tre virgolette doppie (""") alla fine dell'argomento di questa formula per bilanciare le virgolette relative ai secondi e le virgolette per la stringa di testo. Per un riferimento di cella non è necessario utilizzare virgolette.
  6. Questa formula restituisce 10.46.

Le informazioni in questo articolo si applicano a
  • Microsoft Excel 2000 Standard Edition
Chiavi: 
kbhowto kbprogramming kbconvert kbsample kbdtacode kbfunctions KB213449
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Traduzione articoli

 

Related Support Centers