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