Calcular Hoja con macros en Excel

Es común que en la construcción de modelos financieros que involucran macros y un gran volumen de registros, la aplicación de funciones en la hoja para obtener resultados se puede ver afectada al realizar cualquier cambio en la hoja; la configuración por defecto de Excel hace que al realizar cualquier cambio en la hoja (insertar una letra, número, borrar contenido, entre otros), todas las funciones se calculen. Es por esto que se recomienda desactivar el cálculo de la hoja y al ejecutar la macro del modelo financiero, se realice el cálculo de toda la hoja.

Método Calculate: Con la aplicación de este método se realiza el cálculo de las operaciones de la hoja.

Para el siguiente ejemplo, vamos a trabajar con una tabla sencilla donde se realiza el cálculo de las ventas (Cumple y no Cumple) con una función SI:


Si las ventas son mayores a $150.000, entonces cumple. Voy a desactivar el cálculo automático de la hoja:

Ahora probemos cambiando las ventas de un registro que no cumplía a $150.000 para ver que el resultado sigue siendo el mismo:

Ahora vamos a programar la macro para Calcular la hoja. Lo primero es ingresar al editor de Visual Basic, puede ser con la combinación de teclas Alt + F11 y desde el explorador de proyectos, es necesario dar doble clic sobre la hoja donde se requiere crear la macro que para nuestro ejercicio se ubicará en la Hoja1:

Ingresamos el siguiente código:

Sub CalcularHoja()

Worksheets(1).Calculate

End Sub

Queda de la siguiente manera en el editor VBA:

Veamos lo que significan cada una de las líneas:

  1. La primera línea Sub CalcularHoja(), indica el inicio de la macro.
  2. En la segunda línea se toma el Objeto Worksheets e indicando entre paréntesis el índice de la hoja que se requiere calcular, en este caso el índice es 1 que corresponde a la hoja que se encuentra en la primera posición de las pestañas del Libro. Finalmente se activa el método Calcualte para realizar el cálculo de todas las operaciones de la hoja.
  3. La última línea marca el fin (End) de la Macro o Subrutina (Sub).

Para ejecutar la macro, lo ideal es insertar una autoforma en la Hoja1 y luego asignar la macro que acabamos de crear (clic derecho sobre la Autoforma y seleccionar la opción Asignar macro:

Finalmente seleccionar la macro que se acaba de crear:

Y al dar clic sobre el la autoforma, la macro calcula todas las operaciones de la hoja:

Y la opción de Cálculo sigue en Manual:

Descargar archivo de trabajo.

Contenido relacionado:
Compartirlo
Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.


Déjenos su opinión

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc., pero debe hacerlo con respeto, sin insultar y sin ofender a otros.

Información legal aplicable para Colombia.