Ayuda con función personalizada: pegar a la par de celda
publicado
Buen día a todos.
Acudo a ustedes para solicitar su apoyo en lo siguiente. Creé una función que me calcula un valor llamado "Azimut". Esta función necesita de 4 parámetros o valores, los mismos que requiero para calcular otra variable que se llama "Distancia". Lo que necesito es que al momento de llamar la función "Azimut" en cualquier celda, automáticamente pegue el valor de la "Distancia" en la columna a la par derecha. Ejemplo, si ejecuto la función "Azimut" en la celda "D6", el valor de la "Distancia" que se pegue en la celda "E6".
La función "Azimut" es esta:
Public Function Azimut(X0, Y0, X1, Y1)
Pi = 4 * Atn(1)
If (Y1 - Y0) = 0 And (X1 - X0) < 0 Then
Azimut = 270
ElseIf (Y1 - Y0) = 0 And (X1 - X0) > 0 Then
Azimut = 90
ElseIf (Y1 - Y0) = 0 And (X1 - X0) = 0 Then
Azimut = 0
End If
If (Y1 - Y0) <> 0 Then
Azimut = Atn((X1 - X0) / (Y1 - Y0)) * 180 / Pi
If (Y1 - Y0) < 0 Then Azimut = Azimut + 180
If (Y1 - Y0) > 0 And (X1 - X0) < 0 Then Azimut = Azimut + 360
End If
End Function
Para calcular la variable "Distancia", se usaría ésta fórmula:
Distancia = Sqr((X1 - X0) ^ 2 + (Y1 - Y0) ^ 2)
Adjunto un archivo ejemplo, para ser un poco más explícito de lo que acá indique, y desde ya, agradezco cualquier ayuda que me puedan brindar.
Buen día a todos.
Acudo a ustedes para solicitar su apoyo en lo siguiente. Creé una función que me calcula un valor llamado "Azimut". Esta función necesita de 4 parámetros o valores, los mismos que requiero para calcular otra variable que se llama "Distancia". Lo que necesito es que al momento de llamar la función "Azimut" en cualquier celda, automáticamente pegue el valor de la "Distancia" en la columna a la par derecha. Ejemplo, si ejecuto la función "Azimut" en la celda "D6", el valor de la "Distancia" que se pegue en la celda "E6".
La función "Azimut" es esta:
Public Function Azimut(X0, Y0, X1, Y1) Pi = 4 * Atn(1) If (Y1 - Y0) = 0 And (X1 - X0) < 0 Then Azimut = 270 ElseIf (Y1 - Y0) = 0 And (X1 - X0) > 0 Then Azimut = 90 ElseIf (Y1 - Y0) = 0 And (X1 - X0) = 0 Then Azimut = 0 End If If (Y1 - Y0) <> 0 Then Azimut = Atn((X1 - X0) / (Y1 - Y0)) * 180 / Pi If (Y1 - Y0) < 0 Then Azimut = Azimut + 180 If (Y1 - Y0) > 0 And (X1 - X0) < 0 Then Azimut = Azimut + 360 End If End Function
Para calcular la variable "Distancia", se usaría ésta fórmula:
Distancia = Sqr((X1 - X0) ^ 2 + (Y1 - Y0) ^ 2)
Adjunto un archivo ejemplo, para ser un poco más explícito de lo que acá indique, y desde ya, agradezco cualquier ayuda que me puedan brindar.
Saludos cordiales
Función Azimut.xlsm