Option Explicit VBA – Declarar variables

option explicit vba

Una gran recomendación a la hora de hacer bien una macro desde cero es declarar todas las variables. En ocasiones, por despiste, se nos puede olvidar declarar alguna de las variables y para ello, un buen ejercicio para obligarse es escribir “Option Explicit” al comienzo de nuestro módulo.

De esta manera, cada vez que queramos ejecutar nuestra macro o la estemos depurando, nos saltará un error y nos llevará inmediatamente a la variable que no está declarada recordándonos que debemos hacerlo.

Cuando usar Option Explicit VBA

En el siguiente ejemplo vemos qué es lo que pasa cuando tenemos una variable sin declarar y hemos usado la opción “Option Explicit”.

option explicit vba

Como se puede ver en la imagen anterior, la variable que no está declarada se subraya en azul y salta un mensaje de error que no nos permite ejecutar la macro hasta que no resolvamos este problema.

El error: “Compile error: Variable not definded” se soluciona sencillamente declarando la variable que ha interrumpido la ejecución.

Un truco que hace que nos obliguemos a declarar todas las variables para una mejor legibilidad como decíamos en el post anterior.

Bonus track: declarar variables y tipos de variables

Es fundamental, si queremos tener un buen manejo de VBA, conocer los tipos de variables que se pueden usar y obligarse a declararlas. Hemos escrito dos artículos que pueden ayudarte en esta tarea y que te recomendamos que los leas vívamente.

Autor: Quique Arranz

Quique es un fanático del Excel desde que empezó a trabajar con ello hace unos pocos años. Adquirió su conocimiento a través de Google y de infinitas pruebas y más pruebas. Además, Quique es un entusiasta de su familia (mujer e hijos), del deporte y de la cerveza... no dudes en contactar con él para cualquier duda que tengas.

3 opiniones en “Option Explicit VBA – Declarar variables”

  1. Excelente Quique!! Realmente estoy comenzando con esto y me ha sido de muchisima utilidad tu página. Un saludo desde Argentina!!

Comentarios cerrados.