En VBA, como en muchos otros lenguajes de programación, tenemos la “libertad” de hacer muchas cosas pero algunas de ellas resultan poco recomendables. Uno de los casos más frecuentes, relacionados a este tema, es el uso de variables.
En VBA tenemos la opción por defecto de utilizar variables sin declararlas. Los programas declarando todas las variables que se utilizarán, señalando el tipo de datos adecuado es muy probable que obtenga el mismo resultado si codificamos sin declarar las variables a emplear. Entre uno y otro estilo redundará en el tiempo de procesamiento.
Por ejemplo, con la siguiente rutina, dependiendo de las características del ordenador, su ejecución con las variables correctamente tipificadas tardó 15 segundos y retirando la declaración de variables (comentando estas líneas) esta rutina tardo 55 segundos (pruebas realizadas en una máquina virtual con 1 CPU (2.4GHz) y 2 GB de memoria).
Una buena práctica es utilizar Option Explicit a nivel de módulo para no olvidar la declaración de variables en ninguna parte de cada proyecto. Por defecto, cualquier variable no declarada, será de tipo Variant, la cual ocupa más espacio en memoria e internamente para VBA requiere mayor tratamiento.