Actualización de fórmulas mediante VBA
Arkana0
Mensajes publicados
1980
Fecha de registro
Estado
Moderador
Última intervención
-
Arkana0 Mensajes publicados 1980 Fecha de registro Estado Moderador Última intervención -
Arkana0 Mensajes publicados 1980 Fecha de registro Estado Moderador Última intervención -
Hola,
Trabajo con una enorme tabla en Excel 2007
La misma se compone de dos hojas, que llamaré A y B.
La hoja A está llena de fórmulas que obtienen datos de la hoja B en cerca de 1000 filas y una buena docena de columnas.
Naturalmente, con la actualización automática, aplicar un filtro toma un tiempo considerable (se acerca a los 5s). Así que lo configuré para una actualización manual.
Sin embargo, para evitar descuidos, me preguntaba si sería posible codificar algo en VBA para que las fórmulas se actualicen automáticamente cuando haga una modificación en la hoja B y regrese a la hoja A.
Les agradezco de antemano por sus consejos, y no, no tengo la posibilidad de aligerar la tabla más de lo que ya está ;)
Trabajo con una enorme tabla en Excel 2007
La misma se compone de dos hojas, que llamaré A y B.
La hoja A está llena de fórmulas que obtienen datos de la hoja B en cerca de 1000 filas y una buena docena de columnas.
Naturalmente, con la actualización automática, aplicar un filtro toma un tiempo considerable (se acerca a los 5s). Así que lo configuré para una actualización manual.
Sin embargo, para evitar descuidos, me preguntaba si sería posible codificar algo en VBA para que las fórmulas se actualicen automáticamente cuando haga una modificación en la hoja B y regrese a la hoja A.
Les agradezco de antemano por sus consejos, y no, no tengo la posibilidad de aligerar la tabla más de lo que ya está ;)
1 respuesta
Hola,
Supongo que lo que llamas "actualización automática" es el modo de cálculo automático.
Si es así, simplemente debes mantenerlo en manual y activar el cálculo al activar la hoja A
--
Siempre zen
La perfección se alcance, no cuando no hay nada más que agregar, sino cuando no hay nada más que retirar. Antoine de Saint-Exupéry
Supongo que lo que llamas "actualización automática" es el modo de cálculo automático.
Si es así, simplemente debes mantenerlo en manual y activar el cálculo al activar la hoja A
Private Sub Worksheet_Activate() Calculate End Sub
--
Siempre zen
La perfección se alcance, no cuando no hay nada más que agregar, sino cuando no hay nada más que retirar. Antoine de Saint-Exupéry
Sí, de eso se trata: las fórmulas que se actualizan automáticamente o al presionar F9.
Sin embargo, acabo de ver que cambiar a cálculo manual no era una opción tan buena: esto se aplica a todos los archivos de Excel... En realidad, me gustaría que este cálculo "manual" solo se hiciera en esta hoja A.
Luego, en cuanto a tu código: solo hace una parte de lo que pido. No quiero que los cálculos se actualicen cada vez que voy a mi hoja A (eso sería un primer avance, por cierto). Quiero que se actualicen solo si voy a mi hoja A y he modificado un valor en mi hoja B anteriormente.
Quizás deberíamos establecer un sistema de bandera con una variable global?
En este caso, en Thisworkbook, en el evento Open, recuperas el modo de cálculo para restituirlo al cierre y lo pones en manual.
En Change de tu hoja B colocas tu variable global de bandera.
Al activar la hoja A, calculas si la bandera está posicionada.