Funciones definidas por el usuario

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Funciones definidas por el usuario

Notapor SARGENTODEHIERRO » 28 Dic 2013 09:57

Buenas tardes;

¿Alguien me podría decir como tengo que meter esta función en VBA para que me funcione como función definida por el usuario?

(2*C2*SENO(RADIANES(C3)))/C5

Un saludo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
SARGENTODEHIERRO
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Dic 2013 12:04

Re: Funciones definidas por el usuario

Notapor Antoni » 28 Dic 2013 13:25

.

Te dejo la función IRON, ponle el nombre que mas te guste, debes poner el código en un Módulo.

Function IRON(ByVal C2, ByVal C3, ByVal C5) As Double
IRON = 2 * C2 * Sin(C3 * WorksheetFunction.Pi / 180) / C5
End Function



en cualquier celda puedes poner esta foórmula:

=IRON(Celda1;Celda2;Celda3)

en tu ejemplo

=IRON(C2;C3;C5)

.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Funciones definidas por el usuario

Notapor SARGENTODEHIERRO » 28 Dic 2013 13:54

Gracias Antoni;
Va perfecto, pero ¿Existe la posibilidad de que me coja automáticamente los valores de las celdas C2,C3 y C5? Es decir, que en cuanto le ponga la función, opere sin preguntarme los valores de las citadas celdas.

Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
SARGENTODEHIERRO
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Dic 2013 12:04

Re: Funciones definidas por el usuario

Notapor SARGENTODEHIERRO » 28 Dic 2013 13:58

No he dicho nada, ya funciona perfectamente.

Gracias, de nuevo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
SARGENTODEHIERRO
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Dic 2013 12:04

Re: Funciones definidas por el usuario

Notapor SARGENTODEHIERRO » 28 Dic 2013 15:28

Otro problemita, ji ji ji

He generado una tabla en la que se me ponen las coordenadas X e Y de una gráfica.
Ésta es la fórmula de las "X" : =SI($G$3>=O2;$C$2*(COS(RADIANES($C$3)))*($C$7/50)*O2;"")
Y ésta las "Y": =SI($G$3>=O2;(TAN(RADIANES($C$3)))*P2-($C$5/(2*($C$2^2)*((COS(RADIANES($C$3)))^2)))*(P2^2);"")

Llevo un rato intentando localizar que función definida por el usuario me podría servir para generarme las coordenadas y no encuentro ninguna. ¿Alguien sabría decirme cual debería usar?

Muchas gracias

Salu2
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
SARGENTODEHIERRO
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Dic 2013 12:04

Re: Funciones definidas por el usuario

Notapor Antoni » 28 Dic 2013 16:11

Aquí te dejo la Coordenada X, por asociación no te costará obtener la Coordenada Y:

Function cX(ByVal O2) As Double
If Not Range("G3") < O2 Then

cX = Range("C2") * Cos(Range("C3") * WorksheetFunction.Pi / 180) * Range("C7") * O2 / 50

End If
End Functio
n

Fórmula:

=cX(Celda)

en el ejemplo

=cX(O2)

.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Funciones definidas por el usuario

Notapor SARGENTODEHIERRO » 29 Dic 2013 06:59

Hola Antoni;

He probado con la fórmula que me has puesto y va bien, lo que ocurre es que no me expliqué bien. Lo que yo quiero es generar una tabla con 50 valores de "x" e "y", con esa opción que me has enviado tendría que hacer 100 fórmulas (50 para la "x" y 50 para la "y")
Habría otra opción

Salu2
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
SARGENTODEHIERRO
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Dic 2013 12:04


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados