Todo lo que necesitas saber sobre las variables vba

variables VBA

En VBA, una variable es como una caja de almacenamiento que a su vez se almacena en su sistema, pero puede almacenar un valor allí para usted y puede usar ese valor en su código y cambiar ese valor si lo desea (como sugiere su nombre, «VARIABLE ”es algo cuyo valor no está fijo).

Para declarar una variable, debes seguir un procedimiento simple:

  1. Utilice la palabra clave «Dim» al principio.
  2. Especifique un nombre para la variable.
  3. Utilice la palabra clave «Como» después del nombre.
  4. Especifique el «Tipo de datos» de la variable según el valor que desee asignarle.

Aquí hemos utilizado el nombre «fecha de inicio» y hemos especificado el tipo de datos «Fecha». Después de declarar una variable, puede asignarle un valor.

 Dim startDate As Date startDate = “11/10/2018”

Ahora, cada vez que usa la fecha de inicio en su código, Excel usa la fecha que le proporcionó.

Tipos de datos

En VBA, los tipos de datos son básicamente los tipos de datos que necesita especificar al almacenar un valor en una variable o constante. Por ejemplo, si desea almacenar una fecha en una variable, primero debe declarar esa variable de fecha como su tipo de datos.

Tipos de datos explicados

Aquí está la lista completa de tipos de datos que puede usar en VBA.

Tipo de datos
Bytes usados
Rango de valores
bytes
1 byte
0 a 255
booleano
2 bytes
Verdadero o falso
Entero
2 bytes
-32,768 a 32,767
Largo (entero largo)
4 bytes
-2.147.483.648 a 2.147.483.647
Solo
4 bytes
-3,402823E38 a -1,401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38 para valores positivos
Doble
8 bytes
-1.79769313486231E308 a -4.94065645841247E-324 para valores negativos; 4.94065645841247E-324 a 1.79769313486232E308 para valores positivos
Dinero
8 bytes
-922.337.203.685.477,5808 al 922.337.203.685.477,5807
Decimal
14 bytes
+/-79 228 162 514 264 337 593 543 950 335 sin punto decimal; +/-7.9228162514264337593543950335 con 28 decimales a la derecha del punto decimal
Fecha
8 bytes
1 de enero de 100 al 31 de diciembre de 9999
Objeto
4 bytes
Cualquier referencia de objeto
Cadena (longitud variable)
10 bytes + longitud de cadena
0 a alrededor de 2 mil millones
Cadena (longitud fija)
Longitud de la cadena
1 a aproximadamente 65.400
Variante (con números)
16 bytes
Cualquier valor numérico hasta el rango de un Doble
Variante (con personajes)
22 bytes + longitud de cadena
Mismo rango que una cadena de longitud variable
Usuario definido
Varios
El rango de cada elemento es el mismo que el rango de su tipo de datos.

Esto es muy recomendable para declarar el tipo de datos de variables y constantes .

Cuando especifica el tipo de datos para una variable o constante, garantiza la validez de sus datos y le impide ingresar un tipo de datos no válido. Si omite el tipo de datos, VBA aplica el tipo de datos Variante a su variable; este es el más flexible y VBA no adivinará cuál debería ser el tipo de datos.

Consejo: La mejor manera de no omitir la especificación de tipos de datos es usar la opción explícita en la parte superior del módulo antes de comenzar cualquier código.

Explícita o implícitamente

Puede declarar una variable de forma explícita o implícita. Declaración explícita significa que antes de asignar un valor a una variable, la declaras y estableces su valor. La VENTAJA de esto es cuando lo defines y su tipo de datos VBA siempre almacena los datos en ese formato.

Aquí hay un ejemplo:

 Dim myDate As Date

Entonces, cuando almacene valor en este VBA, siempre le aplicará el formato de fecha. Pero con la declaración implícita, no te molestas con esta declaración explícita. En su lugar, establece el valor de la variable y lo utiliza en la declaración del código. En la declaración implícita, VBA almacena los datos en un tipo de variable Variante porque no especificó el tipo.

En otras palabras, si simplemente usas una variable en tu código sin declararla, está implícita. A continuación se muestra un ejemplo de una declaración implícita:

 myDate = “11/10/1990”

Así es como simplemente asigna el valor a una variable y lo usa en sus declaraciones de código. Si me preguntas, siempre es mejor declarar una variable antes de usarla. Esta no sólo es una buena práctica, sino que también hace que su código se ejecute más rápido y sea más fácil de entender.

variable estática

Bueno, te dije que la variable es donde puedes cambiar el valor, pero esto es algo diferente. Con una variable normal, cuando se completa un procedimiento, el valor almacenado en la variable se eliminará de la memoria de VBA, pero, si no desea perder este valor, puede hacer que esta variable sea estática.

Para hacer que una variable sea estática para que conserve el valor, simplemente use la palabra clave «Estática» en lugar de usar «Dim».

Nombra una variable

Puede nombrar una variable (estas reglas también se aplican a la constante y al nombre del procedimiento) como desee, pero debe seguir algunas reglas:

  • Puede utilizar alfabetos, números y algunos caracteres de puntuación, pero el primer carácter del nombre debe ser un alfabeto.
  • Los espacios o puntos no son caracteres válidos para usar en el nombre, pero puedes usar un guión bajo para que el nombre sea legible.
  • No puede utilizar caracteres especiales en un nombre.
  • La longitud de un nombre puede ser de 254 caracteres pero usar un nombre que no tenga sentido.
  • Hay muchas palabras reservadas, que son palabras que no puedes usar para el nombre. Si intenta utilizar cualquiera de estas palabras, recibirá un mensaje de error.
  • VBA no diferencia entre casos.

Alcance

En este punto, conoce los procedimientos y qué procedimiento es útil en cada situación, también aprende sobre las variables y cómo definir sus tipos de datos.

Lo siguiente importante es comprender el alcance, lo que significa disponibilidad. Aquí es donde se puede utilizar. Cuando define una variable, el alcance define si puede usarla fuera de su procedimiento de host o no. Hay tres formas de definir alcances variables (constantes e incluso con todo el procedimiento).

  1. Nivel de procedimiento: sólo puedes utilizar una variable en el mismo procedimiento donde la declaras.
  2. Nivel de módulo (privado): hace que una variable sea accesible desde todos los procedimientos de un módulo.
  3. Nivel de módulo (Público): Hace que una variable sea accesible desde todos los procedimientos en todos los módulos.

El alcance predeterminado de una variable es el procedimiento (Nivel de procedimiento) en el que se declara esta variable.

Pero déjame compartir contigo algo del mundo real.

Trabajo en un espacio de coworking y el lugar donde me siento es en el primer piso del edificio de tres pisos. Me siento en el mismo asiento casi todos los días. Entonces, si declara una variable con alcance a nivel de procedimiento, solo podrá usarla dentro del mismo procedimiento. Así como me siento en el mismo asiento en el mismo piso todos los días. Pero déjame decirte más: aunque me siento en el primer piso, también puedo usar cualquier asiento de los demás pisos. Y en la siguiente instantánea, declaramos la variable «miNombre» en la parte superior del módulo usando la palabra clave Privada antes de iniciar cualquier procedimiento y la usé en los tres códigos. Piense en este módulo como un edificio donde tiene diferentes pisos (Procedimientos) y como ya declaró la variable al inicio del módulo, puede utilizar cualquiera de los procedimientos de este módulo. Esto se denomina alcance a nivel de módulo privado. Ahora, esto es lo último: mi oficina tiene sucursales en diferentes ciudades del país y si voy allí, puedo ir a esas oficinas y usar cualquiera de los asientos si quiero. Entonces, si tiene diferentes módulos en su libro de trabajo, puede usar una variable en todos estos módulos declarándola como Pública.

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *