Automatizar "Buscar Objetivo" con VBA

03/04/2005 - 15:54 por Greg | Informe spam
Buenos días a todos,

Actualmente, uso "buscar objetivo" para resolver una ecuación.

1º - Tengo la impresión de que Excel (XP) utiliza el método Newton-Raphson
para ello. ¿Alguien me puede confirmar esta suposición?

2º - Me gustaría automatizar dicho procedimeinto (no tener que darle a
buscar objetivo cada vez que cambie algún valor de la ecuación).
Había pensado en programar el método Newton-Rapphson ( o él que sea) en una
public función en VBA y hacer referencia a ella en mi celda resultado.
¿Es un buen planteamiento o existe algo más sencillo?

3º - Si me lo aconsejáis, alguien me puede explicar de manera breve como se
inserta VBA en Excell. Lo utilizo habitualmente en Access pero no en Excel y
tengo muchas dudas sobre la manera de hacerlo.

Un saludo

Greg
-
A Coruña

Experto en berberechos, buscando percebes.

Preguntas similare

Leer las respuestas

#1 julian-Vlc-Sp
03/04/2005 - 16:29 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias.

Ahora no lo tengo aquí (lo tengo en el trabajo), pero tengo una aplicación
muy sencilla que pulsando un botón me busca un objetivo.

En plan resumen se trata de lo siguiente:

Le das a grabar macro

Haces lo de buscar objetivo manualmente.

Terminas de grabar macro.

Te miras el código VBA y lo adaptas si es necesario, por ejemplo,
asociándolo a un botón

SALUDOS.
julian-Valencia-España

http://www.access-facil.tk
http://www.access-sin-codigo.tk

"Greg" escribió en el mensaje
news:
Buenos días a todos,

Actualmente, uso "buscar objetivo" para resolver una ecuación.

1º - Tengo la impresión de que Excel (XP) utiliza el método Newton-Raphson
para ello. ¿Alguien me puede confirmar esta suposición?

2º - Me gustaría automatizar dicho procedimeinto (no tener que darle a
buscar objetivo cada vez que cambie algún valor de la ecuación).
Había pensado en programar el método Newton-Rapphson ( o él que sea) en
una
public función en VBA y hacer referencia a ella en mi celda resultado.
¿Es un buen planteamiento o existe algo más sencillo?

3º - Si me lo aconsejáis, alguien me puede explicar de manera breve como
se
inserta VBA en Excell. Lo utilizo habitualmente en Access pero no en Excel
y
tengo muchas dudas sobre la manera de hacerlo.

Un saludo

Greg
-
A Coruña

Experto en berberechos, buscando percebes.



Respuesta Responder a este mensaje
#2 Greg
03/04/2005 - 16:56 | Informe spam
Hola Julian,

Tu nombre me suena de algo ;-)

tengo una aplicación muy sencilla que pulsando un botón me busca un
objetivo.





¡Pues mira que soy vago, que ni siquiera quiero tener que darle a un botón!
:D
Más en serio, lo ideal era que fuese totalmente automático ya que otras
celdas dependen de este resultado.
Por eso quería "crear" la public función:
Para usarla en mi celda objetivo y que la hoja tuviera una actualización
automática al segundo de cambiar un valor inicial.

Es decir:
1º - Programar "Public función NewtonRaphson ..." (No sé dónde, no encuentro
la "vista diseño")
2º - Poner en la celda C1: =NewtonRaphson(D1;0;B1;E1)
con:
D1 = Celda dónde se calcula el resultado de mi ecuación (obligatorio)
0 = Valor que quiero que dé mi ecuación (facultativo, por defecto 0)
B1 = Celda dónde se encuentra el valor inicial para aplicar dicho método
(obligatorio)
E1 = Celda dónde está el número de iteraciones que se quieren hacer
(facultativo, por defecto 100)

Sólo es un esbozo pero a ver si me orientáis.

Gracias

Un saludo

Greg
-
A Coruña

Experto en berberechos, buscando percebes.
Respuesta Responder a este mensaje
#3 julian-Vlc-Sp
03/04/2005 - 17:20 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias.

No digo que no existan, pero no conozco eventos de celdas.

Lo mas parecido que se me ocurre ahora es:

Sub Worksheet_Change(ByVal Target As Range)

AQUI EL CODIGO QUE QUIERAS

End Sub

Este procedimiento se dispara cuando cambies el valor de una celda
cualquiera de una hoja determinada.

El Editor de VBA lo puedes mostrar pulsando Alt+F11

P.D.: Lo de que eres vago, lo he cogido en el sentido figurado que entiendo
que lo has escrito, pero hay que tener cuidado con estas expresiones, porque
se puede interpretar que ni tan siquiera consultas la ayuda de Excel, y te
lo digo porque yo no uso apenas los eventos de Excel (solo botones), pero
buscando he encontrado este evento.

SALUDOS.
julian-Valencia-España

http://www.access-facil.tk
http://www.access-sin-codigo.tk

"Greg" escribió en el mensaje
news:
Hola Julian,

Tu nombre me suena de algo ;-)

tengo una aplicación muy sencilla que pulsando un botón me busca un
objetivo.





¡Pues mira que soy vago, que ni siquiera quiero tener que darle a un
botón!
:D
Más en serio, lo ideal era que fuese totalmente automático ya que otras
celdas dependen de este resultado.
Por eso quería "crear" la public función:
Para usarla en mi celda objetivo y que la hoja tuviera una actualización
automática al segundo de cambiar un valor inicial.

Es decir:
1º - Programar "Public función NewtonRaphson ..." (No sé dónde, no
encuentro
la "vista diseño")
2º - Poner en la celda C1: =NewtonRaphson(D1;0;B1;E1)
con:
D1 = Celda dónde se calcula el resultado de mi ecuación (obligatorio)
0 = Valor que quiero que dé mi ecuación (facultativo, por defecto 0)
B1 = Celda dónde se encuentra el valor inicial para aplicar dicho método
(obligatorio)
E1 = Celda dónde está el número de iteraciones que se quieren hacer
(facultativo, por defecto 100)

Sólo es un esbozo pero a ver si me orientáis.

Gracias

Un saludo

Greg
-
A Coruña

Experto en berberechos, buscando percebes.


Respuesta Responder a este mensaje
#4 Greg
04/04/2005 - 14:37 | Informe spam
Julian,

1º - Entiendo el evento "al cambiar del valor una celda" pero no es lo que
necesito.(entiendes que si creo una nueva formula basada en el método
Newton... que por consiguiente, como expliqué en mi 2 post anteriores, debe
de sustituir a "buscar objetivo", no necesito ningún tipo de activador para
cuando cambie de valor una celda)
Lo que no captaba era justamente como crear una nueva formula. Ahora, con
Alt+F11, vi que, como en Access, se puede crear un módulo en el que me
imagino que insertando una "Public función", podré llamarla despues desde
cualquier celda con "funciones definidas por el usuario".
Si no es así, que alguien me corrija por favor.

O.T.
2º- En efecto, lo de vago era sentido figurado. Pa' eso el ":D" al final y
el "Más en serio..." en la linéa siguiente.
Y aunque entiendo perfectamente que los que contestáis habitualmente en
estos foros, podéis estar cansados de tantas preguntas que tienen fácil
solución con solo mirar la ayuda o repasar los archivos de la lista, esta
advertencia tuya al final ("Hay que tener cuidado con estas expresiones...")
me dejó un mal sabor de boca.
En efecto, no pueden pagar justos por pecadores (*) . Y sobre todo, porque
es más fácil ver la paja en el ojo ajeno que...
Ya que si ALGUNOS de los que preguntamos podemos pecar a veces de no buscar
bastante, ALGUNOS de los que contestan también pecan a veces de no leerse
bien las preguntas y pensar que los tiros van por un sitio cuando en
realidad se pregunta por otra cosa, cosa que ocurrió ahora mismo como te
expliqué en el 1º párrafo.
En conclusión: Que nadie es perfecto, que todos podemos equivocarnos así que
lo que menos hace falta son repartidores de lecciones.
Consejos, ayudas, o incluso silencios: sí.
Reproches o advertencias, que los den los que no fallan nunca en nada.
Sólo era una puntualización, no te lo tomes a mal.

(*) aún considerando que estas personas fuera pecadoras, que te puedo decir
por experiencia que Office XP tiene muchas cosas muy buenas. Pero la ayuda
no es precisamente una de ellas. Intenta si quieres con "Crear formulas",
"Crear funciones", "funciones propias" y verás no solamente que no hay
repuesta sino que además, las propuestas no guardan ninguna relación con el
tema.

Un saludo

Greg
-
A Coruña

Experto en berberechos, buscando percebes.


"julian-Vlc-Sp" escribió en el mensaje
news:%23$
: : ¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
: sirvió o no la respuesta dada. Muchas gracias.
: :
: No digo que no existan, pero no conozco eventos de celdas.
:
: Lo mas parecido que se me ocurre ahora es:
:
: Sub Worksheet_Change(ByVal Target As Range)
:
: AQUI EL CODIGO QUE QUIERAS
:
: End Sub
:
: Este procedimiento se dispara cuando cambies el valor de una celda
: cualquiera de una hoja determinada.
:
: El Editor de VBA lo puedes mostrar pulsando Alt+F11
:
: P.D.: Lo de que eres vago, lo he cogido en el sentido figurado que
entiendo
: que lo has escrito, pero hay que tener cuidado con estas expresiones,
porque
: se puede interpretar que ni tan siquiera consultas la ayuda de Excel, y te
: lo digo porque yo no uso apenas los eventos de Excel (solo botones), pero
: buscando he encontrado este evento.
:
: SALUDOS.
: julian-Valencia-España
:
: http://www.access-facil.tk
: http://www.access-sin-codigo.tk
Respuesta Responder a este mensaje
#5 julian-Vlc-Sp
04/04/2005 - 15:17 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias.

En cuanto a los reproches, consejos etc., creo que mas o menos opinamos
igual y que no merece la pena que sigamos con el tema, de hecho, si tus
expresiones me hubiesen sentado mal, con no contestarte hubiese resuelto el
tema.

Solo dos apuntes.

Piensa que aquí cada uno tenemos nuestras 'circunstancias' a la hora de
contestar, hemos podido tener un día mas o menos malo, nos podemos dedicar a
este profesionalmente o por hobby (es mi caso), etc., etc.

Cuando uno pregunta, el tema que expone es el problema que a el le preocupa
en ese momento, en el que está centrado, y el tiene muy claro lo que no sabe
o no puede hacer (otra cosa es que se explique mejor o peor). Pero piensa
que los que leemos varios hilos con la intención de ayudar, a parte de
nuestras 'circunstancias' de ese momento, podemos no entender bien la
exposición, e incluso mezclar preguntas.

Por mi parte, este asunto lo podemos dar por terminado, porque ya casi lo
tengo olvidado.

En cuanto a tu problema concreto creo que lo has enfocado bien, si tienes
alguna duda o problema, dilo y miramos de solucionarlo, eso si, para no
enredar el hilo, en lugar de contestarme a este mensaje, entiendo que es
mejor que si necesitas mas ayuda, cuelgues en nuevo mensaje de tu post
original, así tendremos dos ramas distintas dentro del mismo hilo

SALUDOS.
julian-Valencia-España

http://www.access-facil.tk
http://www.access-sin-codigo.tk

"Greg" escribió en el mensaje
news:
Julian,

1º - Entiendo el evento "al cambiar del valor una celda" pero no es lo que
necesito.(entiendes que si creo una nueva formula basada en el método
Newton... que por consiguiente, como expliqué en mi 2 post anteriores,
debe
de sustituir a "buscar objetivo", no necesito ningún tipo de activador
para
cuando cambie de valor una celda)
Lo que no captaba era justamente como crear una nueva formula. Ahora, con
Alt+F11, vi que, como en Access, se puede crear un módulo en el que me
imagino que insertando una "Public función", podré llamarla despues desde
cualquier celda con "funciones definidas por el usuario".
Si no es así, que alguien me corrija por favor.

O.T.
2º- En efecto, lo de vago era sentido figurado. Pa' eso el ":D" al final y
el "Más en serio..." en la linéa siguiente.
Y aunque entiendo perfectamente que los que contestáis habitualmente en
estos foros, podéis estar cansados de tantas preguntas que tienen fácil
solución con solo mirar la ayuda o repasar los archivos de la lista, esta
advertencia tuya al final ("Hay que tener cuidado con estas
expresiones...")
me dejó un mal sabor de boca.
En efecto, no pueden pagar justos por pecadores (*) . Y sobre todo, porque
es más fácil ver la paja en el ojo ajeno que...
Ya que si ALGUNOS de los que preguntamos podemos pecar a veces de no
buscar
bastante, ALGUNOS de los que contestan también pecan a veces de no leerse
bien las preguntas y pensar que los tiros van por un sitio cuando en
realidad se pregunta por otra cosa, cosa que ocurrió ahora mismo como te
expliqué en el 1º párrafo.
En conclusión: Que nadie es perfecto, que todos podemos equivocarnos así
que
lo que menos hace falta son repartidores de lecciones.
Consejos, ayudas, o incluso silencios: sí.
Reproches o advertencias, que los den los que no fallan nunca en nada.
Sólo era una puntualización, no te lo tomes a mal.

(*) aún considerando que estas personas fuera pecadoras, que te puedo
decir
por experiencia que Office XP tiene muchas cosas muy buenas. Pero la ayuda
no es precisamente una de ellas. Intenta si quieres con "Crear formulas",
"Crear funciones", "funciones propias" y verás no solamente que no hay
repuesta sino que además, las propuestas no guardan ninguna relación con
el
tema.

Un saludo

Greg
-
A Coruña

Experto en berberechos, buscando percebes.


"julian-Vlc-Sp" escribió en el mensaje
news:%23$
: > : ¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si
te
: sirvió o no la respuesta dada. Muchas gracias.
: > :
: No digo que no existan, pero no conozco eventos de celdas.
:
: Lo mas parecido que se me ocurre ahora es:
:
: Sub Worksheet_Change(ByVal Target As Range)
:
: AQUI EL CODIGO QUE QUIERAS
:
: End Sub
:
: Este procedimiento se dispara cuando cambies el valor de una celda
: cualquiera de una hoja determinada.
:
: El Editor de VBA lo puedes mostrar pulsando Alt+F11
:
: P.D.: Lo de que eres vago, lo he cogido en el sentido figurado que
entiendo
: que lo has escrito, pero hay que tener cuidado con estas expresiones,
porque
: se puede interpretar que ni tan siquiera consultas la ayuda de Excel, y
te
: lo digo porque yo no uso apenas los eventos de Excel (solo botones),
pero
: buscando he encontrado este evento.
:
: SALUDOS.
: julian-Valencia-España
:
: http://www.access-facil.tk
: http://www.access-sin-codigo.tk


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida