Application.Volatile

Normalmente, Excel recalcula a hoja de cálculo cuando detecta algún cambio en la misma.

Me gustaría pensar que simplemente comprueba si ese cambio afecta o no a cada celda y en caso afirmativo recalcula de nuevo su valor.

 

Si utilizas funciones personalizadas, definidas por el usuario, es posible indicar a Excel que no las recalcule cada vez que se produzca un cambio en la hoja, sino únicamente si se ha producido algún cambio en las celdas que la función toma como argumentos.

Esto se consigue añadiendo lo siguiente dentro de la definición de la función:

Application. Volatile False

la opción por defecto es True, verdadero, que la función se recalcule con cada cambio de la hoja.

En el caso de las funciones personalizadas, definidas mediante código VBA, el cálculo es más lento, y si las funciones aparecen muchas veces en la hoja puede consumir un tiempo que no es despreciable. En estos casos, tal vez esto pueda ayudar a reducir el tiempo de cálculo de la hoja y por tanto a reducir el tiempo perdido por el usuario esperando que Excel termine de hacer sus cosas para poder continuar.

 

Temática: