Foro de Ayuda Excel | ||
| Soluciona tus problemas con Excel |
|
#2
| |||
| |||
| Hola olivus Bienvenido al foro Si usa un per de macros de evento (sitas en la Hoja en la que deseas desactivar el cálculo automático) Private Sub Worksheet_Activate() Application.Calculation = xlManual End Sub Private Sub Worksheet_Deactivate() Application.Calculation = xlAutomatic End Sub deberías obtener solución a tu requerimiento. Te adjunto el ejemplo. Un saludo desde Vitoria |
|
#3
| |||
| |||
| Muchas gracias por tu ayuda, la verdad es que en tu ejemplo funciona perfectamente, pero no se que me falta. Tengo un libro con una tabla de registros (hoja 1) sobre la que se van añadiendo con el tiempo más datos, actualmente la dimensión de la tabla es de 1440*51. La hoja 2 es otra tabla que tiene 221 funciones (Sumaproducto) referenciadas a la hoja 1. Esto hace que cualquier modificación en la tabla de registros o simplemente cambio en los filtros de la información supongan una demora importante en la ejecución por la aplicación. La solución que adopté inicialmente fue dividirlo en 2 libros, de forma que mientras no tenga el 2º abierto simultáneamente no tengo problemas de tiempo en la ejecución. He probado a incorporar el código, y marcar en la hoja el cálculo manual y me lo respeta, de hecho tengo las opciones de cálculo de todas las hojas exceptuando la 2 en automático, pero si modifico cualquier dato en la hoja 1 me rehace los cálculos en la hoja 2. Un saludo y muchas gracias. |
|
#4
| |||
| |||
| Hola. Perdonad mi intromisión, pero tengo un problema parecido al que padece Olivus. Aprovechando el ejemplo que ha incluido Ioyama, lo he modificado haciendo un esquema de lo que me ocurre a mí. Quisiera saber si es posible conseguir lo que pretendo. Simplemente es bloquear el cálculo automático para una hoja y que si alguna de sus celdas es referenciada en otra hoja, tampo se calcule. Muchas gracias. |
|
#5
| |||
| |||
| Hola a olivus Dices: "pero si modifico cualquier dato en la hoja 1 me rehace los cálculos en la hoja 2." Debería rehacerte los cálculos de la Hoja2 sólo cuando actualices la 1, no al introducir datos Sube tu fichero y lo revisaré. Un saludo desde Vitoria |
|
#6
| |||
| |||
| Como dice Gervi lo que me pasa es eso, que me rehace los cáculos de las celdas referenciadas a otra hoja. Entiendo por tu respuesta que también habría que desactivar el cálculo automático en la hoja 1 en mi caso. De todas formas te adjunto el archivo que me enviaste con un ejemplo. Como ves el campo 4 de la hoja 2 (que tiene el cálculo en manual) tiene una función sumaproducto con referencias a la hoja 3 (cálculo automático). Si pruebas a modificar por ejemplo el importe en la hoja 3, la 2 me rehace el cálculo. Muchas gracias de nuevo, a pesar de ser mi primera intervención he aprendido mucho leyendo por estos foros a usuarios como tu. (y lo que me queda por aprender...) Un saludo |
|
#7
| |||
| |||
| Hola olivus La respuesta también sirve para Gervi. Resulta que al cambiar de Manual a Automático o viceversa se ve afectado todo el libro, con lo que al activar el automático al cambiar de página se produce el cálculo de las celdas enlazadas con otras hojas (no de las que no tienen enlaces a otras hojas) en la hoja que queremos que trabaje en manual. Una opción que se me ocurre es la que os adjunto. Siempre trabajamos en manual y en las hojas que nos interese activamos el cálculo mediante un evento (o dos por si acaso). Un saludo desde Vitoria P.S. LA desactivación del cálculo automático va en la macro de ThisWorkbook |
| Herramientas | |
| Desplegado | |
| |