VBA - Variables

Variablees una ubicación de memoria con nombre que se utiliza para contener un valor que se puede cambiar durante la ejecución del script. Las siguientes son las reglas básicas para nombrar una variable.

  • Debe utilizar una letra como primer carácter.

  • No puede usar un espacio, punto (.), Signo de exclamación (!) O los caracteres @, &, $, # en el nombre.

  • El nombre no puede superar los 255 caracteres de longitud.

  • No puede utilizar palabras clave reservadas de Visual Basic como nombre de variable.

Syntax

En VBA, debe declarar las variables antes de usarlas.

Dim <<variable_name>> As <<variable_type>>

Tipos de datos

Hay muchos tipos de datos VBA, que se pueden dividir en dos categorías principales, a saber, tipos de datos numéricos y no numéricos.

Tipos de datos numéricos

La siguiente tabla muestra los tipos de datos numéricos y el rango de valores permitido.

Tipo Rango de valores
Byte 0 hasta 255
Entero -32.768 hasta 32.767
Largo -2,147,483,648 a 2,147,483,648
Soltero

-3.402823E + 38 a -1.401298E-45 para valores negativos

1.401298E-45 a 3.402823E + 38 para valores positivos.

Doble

-1.79769313486232e + 308 a -4.94065645841247E-324 para valores negativos

4.94065645841247E-324 a 1.79769313486232e + 308 para valores positivos.

Moneda -922,337,203,685,477.5808 a 922,337,203,685,477.5807
Decimal

+/- 79,228,162,514,264,337,593,543,950,335 si no se usa decimal

+/- 7,9228162514264337593543950335 (28 decimales).

Tipos de datos no numéricos

La siguiente tabla muestra los tipos de datos no numéricos y el rango de valores permitido.

Tipo Rango de valores
Cadena (longitud fija) 1 a 65,400 caracteres
Cadena (longitud variable) 0 a 2 mil millones de caracteres
Fecha 1 de enero de 100 al 31 de diciembre de 9999
Booleano Verdadero o falso
Objeto Cualquier objeto incrustado
Variante (numérica) Cualquier valor tan grande como el doble
Variante (texto) Igual que una cadena de longitud variable

Example

Creemos un botón y lo nombremos como 'Variables_demo' para demostrar el uso de variables.

Private Sub say_helloworld_Click()
   Dim password As String
   password = "Admin#1"

   Dim num As Integer
   num = 1234

   Dim BirthDay As Date
   BirthDay = DateValue("30 / 10 / 2020")

   MsgBox "Passowrd is " & password & Chr(10) & "Value of num is " &
      num & Chr(10) & "Value of Birthday is " & BirthDay
End Sub

Output

Al ejecutar el script, la salida será como se muestra en la siguiente captura de pantalla.