Variables.

       Definen una dirección de memoria donde se almacenarán valores para su posterior utilización, reconocibles en el código por el nombre con el que se declaran, pudiéndose recuperar el valor que contienen; imagina que tienes que calcular el total de ventas de un mismo articulo, para tres puntos de venta distintos, el código a escribir sería algo parecido a esto:

       VarTotalVentas = VarDepVent_1 + VarDepVent_2 + VarDepVent_3

       En la variable VarDepVent_n, tendríamos guardados los valores por punto de venta y guardaríamos el total, de las sumas de esas ventas, en otra variable llamada VarTotalVentas

       En el caso de querer mostrar un mensaje que está escrito en un cuadro de texto (Text1), sumado a un texto ya predefinido; sería algo así:

       VarTextoPredefinido = "hola "

       VarTextoEncadenado = VarTextoPredefinido + Text1.Text


Declaración de variables.

       La declaración de una variable se puede hacer de forma implícita en el código a medida que necesitamos crearla:

       MiVar = "Hola Mundo"

       O de forma explícita usando Option Explicit:

       Option Explicit
       Dim MiVar As String

       MiVar = "Hola Mundo"

       Este segundo método de declarar las variables es el que aconsejo para facilitar el reconocimiento de las variables y evitar confusiones. Si situamos al principio del código la instrucción Option Explicit forzamos a declarar todas las variables de forma explícita.

       En el menú "Herramientas", elegir "Opciones", haciendo clic en la ficha "Editor", seleccionar la opción "Requerir declaración de variables". Esto inserta automáticamente la instrucción Option Explicit en los módulos nuevos, pero no en los ya creados, por lo que se tendrá que agregar manualmente Option Explicit a los módulos ya existentes en el proyecto.


Tipos de Declaraciones.


       Dim: Declara una variable de ámbito local al módulo donde se declara. Si en vez de declararse en un formulario se declarase dentro de un procedimiento o función, solo sería visible a éste, liberándose al salir del procedimiento o módulo donde se declare.

       Static: Aún cuando su ámbito es local, declaradas dentro de un módulo, procedimiento o función, no se liberan al salir del ámbito de su declaración, manteniendo el último valor acumulado al volver a ejecuctarse el módulo o procedimiento que lo creó.

       Public: Son variables públicas y son accesibles desde todos los formularios de la aplicación. Es aconsejable declararlas en el formulario o módulo de código Inicial, para que sean visibles desde todos los formularios. No puede declarar variables públicas en un procedimiento, sólo en la sección Declaraciones de un módulo


Declarar variables con el mismo nombre.

       Si al declarar una variable local, con el mismo nombre que el de un control usado en el fornulario, éste queda emsombrecido por la variable. Debe calificarse el control con una referencia al formulario o usar la palabra clave Me para establecer u obtener el valor de cualquiera de sus propiedades.

Ejemplos:

Dim Text1 As String, BackColor As Long
*Se supone que también hay un control en el formulario que sellama Text1.*
Text1 = "MiVariable" Referencia la variable.
Me.Text1 = "Control" Referencia al control.
Text1.Top = 0 Esto provoca un error.
Me.Text1.Top = 0 Calificar con Me para asignar un valor a la propiedad.
BackColor = 0 La variable ensombrece a la propiedad.
Me.BackColor = 0 Usa Me para asignar la propiedad del formulario.