Inicio » VBA-Macros » VBA-Macros-Variables » Declarar variables

Declarar variables

¿Porqué declarar variables?

El código saldrá más estructurado
Si no declaras un variable, no sabrás que tipo de datos contendrá.

Es más seguro – evitarás errores tipográficos
VBA te ayudará a poner los nombres correctos. Si no, un error tipográfico puede parar el programa.

El código trabajará más eficaz
Variables no declaradas serán tratatos como Variants, las cuales ocupan mucha más memoria.

Te ayudará a programar
VBA te ayuda a elegir propiedades/métodos que corresponden a esa variable.

Declarar variables

Una variable se declara empleando el comando DIM. DIM significa Dimension, y viene del antiguo BASIC. Al declarar, puedes indicar el número de dimensiones que la variable va a tener (ej. guardar números dentro de una variable, en 3 dimensiones).

Para que sea más fácil leer el código, pon un indicador en el nombre de la variable. Así basta con leer el nombre de la variable para saber de que tipo es. Puede ser str para String, int para Integer etc.

Una alternativa al DIM es Public. La variable será accesible desde todas partes de tú proyecto VBA.

Poner nombres explicativos

Intenta poner nombres explicativos a las variables.

Dim strCodigoPostal as String
Dim datFechaRecogida as Date

El nombre puede tener hasta 254 carácteres (por supuesto demasiado…). No puede empezar con una cifra. Algunos nombres son reservados para VBA/Excel, la cual te notificará al ejecutar.

¿Donde poner las declaraciones?

VBA te deja declarar casi en cualquier sitio del código. No obstante, la posición puede dar resultados distintos. Por eso es recomendable seguir unas normas.

Tipo de declaración Ubicación Accesible
Dim Encima del procedimiento (antes del primer Sub) Todos los procedimientos del módulo.
Dim Antes de un procedimiento específico. Ese procedimiento .
Dim Dentro de un procedimiento. Resto de ese procedimiento.
Public Encima del procedimiento (antes del primer Sub) Todos los procedimientos (de todos los módulos).
  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS