Vous êtes sur la page 1sur 1

Convertir los grados, minutos y segundos a grados decimales

La funcin personalizada de Microsoft Visual Basic para Aplicaciones acepta una


cadena de texto que contiene los grados, minutos y segundos con el mismo formato exacto
que devuelve la funcin Convert_Degree (por ejemplo, 10 27' 36") y la convierte en un
ngulo en forma de valor decimal. sta es exactamente la funcin contraria de la funcin
personalizada Convert_Degree.
ADVERTENCIA: se produce un error en esta funcin personalizada si el argumento
Degree_Deg no est en el formato siguiente
<grados> <minutos>' <segundos>"
aun cuando el segundo valor sea 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.
Escriba el cdigo de ejemplo de la funcin personalizada Convert_Decimal que se
3.
describe anteriormente en la hoja del mdulo.
4. Presione ALT+F11 para volver a Excel.
En la celda A1, escriba la frmula siguiente:
=Convert_Decimal("10 27' 36""")
5. NOTA: tiene que escribir tres comillas tipogrficas (""") al final del argumento de esta
frmula para equilibrar las comillas de los segundos y de la cadena de texto. Una
referencia a una celda no requerir una comilla.
6. La frmula devuelve 10.46

Vous aimerez peut-être aussi