Recalcular celda que contiene una fórmula NO recalculable.

15/09/2005 - 14:17 por Luis Garcia | Informe spam
Hola al grupo:

Tengo una fórmula personalizada VBA, que realiza operaciones según valores
de la hoja de cálculo, pero que no son los recibidos como parámetros, con lo
cual, Excel no puede 'trazar' la 'calculabilidad' de la celda.

Cuando modifico algún valor que afecta a mi función, como Excel no sabe que
mi fórmula depende de dicha celda, no la recalcula. Pero incluso no lo
recalcula aunque tenga recalculo manual y le 'obligue' con F9.

¿ Existe alguna forma de forzar el recalculo de mi formula no recalculable ?
(que no sea entrar a editarla y pulsar Enter, puesto que pueden ser 60000x4
celdas)

Saludos

Preguntas similare

Leer las respuestas

#1 Juan
15/09/2005 - 15:06 | Informe spam
Hola Luis

Hasta que llegue alguien que sepa mas a mi se me ocurren dos formas
una en el codigo de tu funcion ponerle

application.volatile

(mira el método volatile) que fuerza al recalculo de la funcion cuando se
recalcula la hoja

y otra es en la hoja de excel donde evaluas la formula multiplicarla por una
funcion volatil (que se calcule cada vez que tiene que recalcular la hoja,
ejemplos hoy(), ahora(), aleatorio()...

para evaluarla
=TuFuncion(TuValor)+HOY()*0

Un saludo

Juan
Respuesta Responder a este mensaje
#2 KL
15/09/2005 - 16:36 | Informe spam
Hola Luis,

No te recomiendo la instriccion Application.Volatile porque si realmente hay
60000x4 celdas involucradas, tu funcion te va a volver loco. Te sugiero que
publiques la funcion y veamos todos juntos si hay alguna forma de incluir el
rango afectado como parametro.

Saludos,
KL


"Luis Garcia" wrote in message
news:utk7B%
Hola al grupo:

Tengo una fórmula personalizada VBA, que realiza operaciones según valores
de la hoja de cálculo, pero que no son los recibidos como parámetros, con
lo
cual, Excel no puede 'trazar' la 'calculabilidad' de la celda.

Cuando modifico algún valor que afecta a mi función, como Excel no sabe
que
mi fórmula depende de dicha celda, no la recalcula. Pero incluso no lo
recalcula aunque tenga recalculo manual y le 'obligue' con F9.

¿ Existe alguna forma de forzar el recalculo de mi formula no recalculable
?
(que no sea entrar a editarla y pulsar Enter, puesto que pueden ser
60000x4
celdas)

Saludos


Respuesta Responder a este mensaje
#3 Luis Garcia
16/09/2005 - 11:07 | Informe spam
Hola Juan:

Gracias por responder, pero el tema de Volatil no es factible por la
cantidad de celdas involucradas. Es decir, me interesa que mi formulas se
recalcule cuando a mi me interese, no constantemente.

De todas formas, gracias por la molestia de contestar.

Saludos

"Juan" escribió en el mensaje
news:
Hola Luis

Hasta que llegue alguien que sepa mas a mi se me ocurren dos formas
una en el codigo de tu funcion ponerle

application.volatile

(mira el método volatile) que fuerza al recalculo de la funcion cuando se
recalcula la hoja

y otra es en la hoja de excel donde evaluas la formula multiplicarla por


una
funcion volatil (que se calcule cada vez que tiene que recalcular la hoja,
ejemplos hoy(), ahora(), aleatorio()...

para evaluarla
=TuFuncion(TuValor)+HOY()*0

Un saludo

Juan


Respuesta Responder a este mensaje
#4 Luis Garcia
16/09/2005 - 11:15 | Informe spam
Hola KL:

Tal como comentas, y tambien le he comentado a Juan, el tema .Volatile no es
factible.

Respecto a ver si se puede incluir el rango como parametro, te comento que
la funcion recibe 7 parametros (celdas), y con esa informacion 'busca' en
TODO el libro, en TODAS las hojas, busca informacion que puede existir (o
no), y con estructura (relativamente) variable.

Con ello, te intento explicar que la información 'variable' es 'complicada'
de incluir como parametro de la funcion.

Mientras no encuentre solucion mediante 'recalculo', voy a probar de crear
una funcion que haga un .Find(xlFormulas) de mi funcion en todo el libro (u
hoja) y 'probar' el truco de .FormulaR1C1 = .FormulaR1C1 a ver si asi se
'recalcula' (y no es muy lento). Ya os contare.

Gracias por todo

Saludos

Luis

"KL" escribió en el mensaje
news:
Hola Luis,

No te recomiendo la instriccion Application.Volatile porque si realmente


hay
60000x4 celdas involucradas, tu funcion te va a volver loco. Te sugiero


que
publiques la funcion y veamos todos juntos si hay alguna forma de incluir


el
rango afectado como parametro.

Saludos,
KL


"Luis Garcia" wrote in message
news:utk7B%
> Hola al grupo:
>
> Tengo una fórmula personalizada VBA, que realiza operaciones según


valores
> de la hoja de cálculo, pero que no son los recibidos como parámetros,


con
> lo
> cual, Excel no puede 'trazar' la 'calculabilidad' de la celda.
>
> Cuando modifico algún valor que afecta a mi función, como Excel no sabe
> que
> mi fórmula depende de dicha celda, no la recalcula. Pero incluso no lo
> recalcula aunque tenga recalculo manual y le 'obligue' con F9.
>
> ¿ Existe alguna forma de forzar el recalculo de mi formula no


recalculable
> ?
> (que no sea entrar a editarla y pulsar Enter, puesto que pueden ser
> 60000x4
> celdas)
>
> Saludos
>
>


Respuesta Responder a este mensaje
#5 KL
16/09/2005 - 13:45 | Informe spam
Hola Luis,

Me tienes super intrigado con esta frase:

Respecto a ver si se puede incluir el rango como parametro, te comento que
la funcion recibe 7 parametros (celdas), y con esa informacion 'busca' en
TODO el libro, en TODAS las hojas, busca informacion que puede existir (o
no), y con estructura (relativamente) variable.



Suponiendo que...
- tienes 7 parametros en la funcion, que son en realidad unas variables cuya
variacion deberia provocar el recalculo de la formula
- existe otro parametro (y tu sabes cual es exactamente) que no esta
incluido en los argumentos ni influye en ellos directa o indirectamente,
pero que tambien deberia provocar el recalculo

?Como es que no se puede incluirlo como argumento? ?Es que es aleatorio?
Seguramente falta mucha informacion concreta para poder digerirlo :-)

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