¿Tienes que usar Dim para declarar variables?
Cuando miramos el código VBA de otras personas en libros o en Internet, a menudo vemos que se utiliza la declaración Dim para declarar variables. Es posible escribir código VBA válido sin declarar variables, entonces ¿para qué molestarse?
La configuración predeterminada para las variables.
Cuando se declaran variables, se les puede dar un tipo. Los tipos incluyen números enteros, cadenas, hojas de trabajo y muchos otros. A continuación se muestra un ejemplo de una variable declarada como un número entero:
Atenuar algún texto como entero
Pero es posible declarar una variable sin tipo:
Atenuar algún texto
Si no definimos un tipo de variable, ¿qué es? Cualquier variable, declarada y no declarada, que no tenga un tipo se crea automáticamente como tipo Variante.
El tipo de variable Variante puede ser cualquier tipo de variable. El tipo Variante puede ser un número entero, una cadena, un libro de trabajo o cualquier otro tipo de variable. Y puede cambiar a medida que cambia la variable, en un momento puede ser una cadena y luego se puede cambiar a un libro de trabajo.
Suena increíble, ¿verdad? Una variable que cambia para ser lo que necesitemos. Entonces, ¿por qué no utilizamos el tipo de variable Variante todo el tiempo? Las principales razones para no utilizar el tipo Variante son:
- Evita que se encuentren errores: si una variable en su código siempre debe ser un número entero, el tipo Variante no creará un error si es cualquier otra cosa.
- Utiliza más memoria de la computadora, por lo que el código tarda más en ejecutarse, lo cual realmente no es lo que queremos. No parece tener mucho sentido ser perezoso al declarar variables sólo para ralentizarnos cada vez que se ejecuta el código. (Sin embargo, dada la potencia de procesamiento actual, no puedo creer que esto tenga mucho impacto en la velocidad... pero podría estar equivocado).
Una variable no declarada sólo puede ser de tipo Variante, por lo que para poder establecer el tipo de variable, la variable debe estar declarada.
Ventajas de las variables declaradas
Declarar variables nos permite evitar los problemas causados por el tipo de variable Variante. Pero también hay otras ventajas:
Mantiene el código organizado.
Normalmente las variables se declaran al comienzo del código. Esto ayuda a mantener el código organizado. Una vez declarada, conocemos todas las variables que existen en nuestro código. Podemos volver fácilmente al inicio del código para verificar los nombres que hemos declarado.
Reducir los errores tipográficos.
Mi precisión al escribir no es del 100%. ¿Qué tan preciso es el tuyo? Si llamamos a una variable loopCounter la primera vez que la usamos, pero la llamamos lpppCounter la segunda vez, habrá un error cuando ejecutemos el código. Lo cual es bueno, porque realmente no queremos dos variables.
Es más fácil para otros seguir su código.
Cualquiera que mire su código tiene más posibilidades de entenderlo si las variables están declaradas (y también comentadas).
Forzar la declaración de variables
Al insertar la opción de texto explícita en la parte superior del código VBA, las variables no declaradas se mostrarán como errores. Podemos configurar el Editor de Visual Basic para que cree automáticamente el texto explícito de la opción.
Desde el Editor de Visual Basic, haga clic en Herramientas – Opciones…
En la ventana Opciones, seleccione Requerir declaración de variable y luego haga clic en Aceptar.
Razones para no declarar variables
Si ve la entrevista de Excel TV con Bill Jelen de aproximadamente 25 minutos, él da sus razones para no necesitar declarar variables. Los he resumido a continuación:
- No es necesario declarar variables para que el código VBA funcione.
- No somos programadores, somos usuarios de Excel que usamos VBA para resolver algunos problemas.
- Las computadoras tienen tanta memoria hoy en día que no necesitamos preocuparnos por ahorrar memoria.
- Al principio, no sabemos qué variables necesitamos, así que créalas sobre la marcha.
- Agregar comentarios al código es un método adecuado para describir el código; declarar variables no agrega información.
¿Deberías declarar variables?
Personalmente, creo que las ventajas de declarar variables son demasiado fuertes. Soy un ser humano, cometo errores, por eso agradezco cualquier ayuda para encontrar errores en mi código. Entonces, yo diría, "Sí", debes declarar variables.
Deja una respuesta