You are on page 1of 3

Las mediciones angulares se suelen expresar en unidades de grados, minutos y segundos

(DMS). Un grado es igual a 60 minutos y un minuto es igual a 60 segundos. Para simplificar


algunos clculos matemticos que puede ser conveniente expresar las mediciones angulares en
grados y fracciones decimales de grados.

Este artculo contiene una funcin personalizada de ejemplo que puede utilizar para convertir
un valor de grado almacenado en formato decimal, a grados, almacenado en formato de texto y
una funcin de ejemplo que convierte DMS para un valor de grado almacenado en formato
decimal.
Volver al principio | Enviar comentarios
Ms informacin
Microsoft proporciona ejemplos de programacin fines ilustrativos nicamente, sin garanta
expresa o implcita, incluyendo, pero sin limitarse a, las garantas implcitas de comerciabilidad e
idoneidad para un fin determinado. En este artculo se supone que est familiarizado con el
lenguaje de programacin que se muestra y las herramientas utilizadas para crear y depurar
procedimientos. Los profesionales de soporte tcnico de Microsoft pueden explicarle la
funcionalidad de un determinado procedimiento, pero no modificarn estos ejemplos para
ofrecer mayor funcionalidad ni crearn procedimientos adaptados a sus necesidades
especficas.
Si tiene poca experiencia en programacin, puede que desee ponerse en contacto con un
Microsoft Certified Partner o servicios de consultora de Microsoft. Para obtener ms
informacin, visite estos sitios Web de Microsoft:

Microsoft certificada Partner - https://partner.microsoft.com/global/30000104

Servicios de asesoramiento de Microsoft - http://support.microsoft.com/gp/advisoryservice

Para obtener ms informacin acerca de las opciones de soporte que estn disponibles y cmo
ponerse en contacto con Microsoft, visite el siguiente sitio Web de
Microsoft:http://support.Microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Convertir los grados decimales a grados, minutos, segundos
El siguiente ejemplo de Microsoft Visual Basic para Aplicaciones funcin personalizada de
acepta un ngulo con formato como un valor decimal y lo convierte en un valor de texto que se
muestra en grados, minutos y segundos.

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

Para utilizar esta funcin, cree una frmula de conversin, como en el ejemplo siguiente:
1. Inicie Excel y presione ALT+F11 para iniciar el editor de Visual Basic.
2. En el men Insertar , haga clic en mdulo.
3. Escriba el cdigo de ejemplo para la funcin personalizada Convert_Degree que se
describe anteriormente en la hoja de mdulo.
4. Presione ALT+F11 para volver a excel.
5. En la celda A1 escriba 10.46.
6. En la celda A2, escriba la frmula siguiente:
=Convert_Degree(a1)


La frmula devuelve 10 27'36 "
Convertir los grados decimales a grados, minutos y segundos
El siguiente ejemplo de Microsoft Visual Basic para Aplicaciones funcin personalizada de
acepta una cadena de texto de grados, minutos y segundos con el mismo formato exacto que
devuelve la funcin Convert_Degree (por ejemplo, 10 27' 36 ") y lo convierte en un ngulo con
formato de valor decimal.

Advertencia: esta funcin personalizada se produce un error si el argumento Degree_Deg no
est en el formato siguiente
< grados > < minutos >' < segundos > "
incluso si el valor de segundos es 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

Para utilizar esta funcin, cree una frmula de conversin, como en el ejemplo siguiente:
1. Inicie Excel y presione ALT+F11 para iniciar el Editor de Visual Basic.
2. En el men Insertar , haga clic en mdulo.
3. Escriba el cdigo de ejemplo para la funcin personalizada Convert_Decimal que
se describe anteriormente en la hoja de mdulo.
4. Presione ALT+F11 para volver a excel.
5. En la celda A1, escriba la frmula siguiente:
= Convert_Decimal("10 27' 36""")
Nota: tiene que escribir tres comillas ("" ") al final del argumento de esta frmula
para equilibrar las comillas de los segundos y las comillas de la cadena de texto.
6. La frmula devuelve 10.46

You might also like