Tipos de variables de VBA - ¿Cómo definir variable y asignar tipo de datos?

Tipos de variables de Excel VBA

Las variables de VBA son como una dirección para el almacenamiento de datos y los datos pueden estar en muchas formas, como numéricas, cadenas o caracteres, etc., entonces, ¿cómo sabe un código qué valor o datos se deben almacenar en qué variable? Esto se hace mediante diferentes tipos de variables o también conocidos como tipos de datos que se utilizan para almacenar los datos según el tipo, por ejemplo, un tipo de variable de cadena almacenará el valor de cadena mientras que un tipo de datos entero almacenará un valor entero y así sucesivamente.

Para codificar de manera eficiente, declarar variables y asignar tipos de datos a esas variables declaradas es clave para recorrer un largo camino en la codificación VBA. En este artículo, le mostraremos qué son las variables, qué tipo de datos es y cómo asignar un tipo de datos a esas variables.

Como dice el propio nombre, la variable variará de vez en cuando, y almacenamos algún valor en esas variables. Para entender esto mejor, recordemos nuestras clases "matemáticas", donde asumimos la variable "x = algo", así que siempre que usemos la variable "x", sería igual al valor que le hemos asignado.

¿Qué es el tipo de datos?

El tipo de datos es la restricción que ponemos en espera a la variable. Por ejemplo, para la variable declarada, podemos restringir para contener solo "Valores de fecha", "Valores enteros", "Valores largos", "Valor de cadena", etc.

Los tipos de datos que puede contener una variable se denominan "Tipo de datos" en VBA.

Tiene muchos tipos. Al codificar, es importante comprender qué puede contener cada tipo de datos. Podemos clasificar los tipos de datos de dos formas, es decir

# 1 - Tipos de datos no numéricos

Estos tipos de datos solo pueden contener datos no numéricos. Estos son tipos de datos comunes no numéricos, es decir, cadena, booleano, variante, objeto.

  • Cadena: puede contener dos tipos de valores de cadena, es decir, cadena con longitud fija y cadena con longitud variable.
  • Booleano: Los booleanos en VBA son valores lógicos, es decir, VERDADERO o FALSO.
  • Variante: puede contener datos numéricos y no numéricos.
  • Objeto: las variables de objeto son productos de Microsoft. Por ejemplo, en Excel, los objetos son "Hoja de trabajo, Libro de trabajo, Rango". Los objetos de Microsoft son "MS Word, MS PowerPoint y MS Outlook".

# 2 - Tipos de datos numéricos

Estos tipos de datos solo pueden contener datos numéricos. A continuación se muestran los tipos de datos numéricos, es decir, Byte, Entero, Largo, Único, Doble, Fecha, Moneda, Decimal.

  • Byte: esta es una variable de pequeña capacidad donde la variable declarada puede contener valores de 0 a 255.
  • Entero: esta es la versión mejorada del tipo de datos Byte. Esto puede contener valores de -32768 a 32768. Si se asignan valores decimales, se convertirá al valor entero más cercano. Por ejemplo, 5,55 se convertirá en 6 y 5,49 se convertirá en 5.
  • Long: donde los tipos de datos Integer limitan su valor a 32768, LONG puede contener números muy largos desde -2,147,483,648 a 2,147,483,648.
  • Único: el tipo de datos único puede contener dos lugares decimales: -3,402823E + 38 a -1,401298E-45 para valores negativos y 1,401298E-45 a 3,402823E + 38 para valores positivos.
  • Doble: el tipo de datos doble puede contener más de dos lugares decimales, es decir, hasta 14 lugares decimales. -1.79769313486232e + 308 a -4.94065645841247E-324 para valores negativos y 4.94065645841247E-324 a 1.79769313486232e + 308 para valores positivos.
  • Fecha: este tipo de datos solo puede contener valores DATE.
  • Moneda: este tipo de datos puede contener valores de -922,337,203,685,477.5808 a 922,337,203,685,477.5807.
  • Decimal: los tipos de datos decimales pueden contener hasta 28 lugares decimales. Puede contener desde +/- 79,228,162,514,264,337,593,543,950,335 si no se usa decimal +/- 7.9228162514264337593543950335.

¿Cómo definir variable y asignar tipo de datos en VBA?

Lo más importante que debe saber es definir la variable durante la codificación. Podemos definir los tipos de variables de dos formas diferentes, es decir, implícita y explícitamente .

# 1 - Implícitamente

Podemos declarar la variable VBA implícitamente, es decir, sin usar la palabra "DIM". Dim son las siglas de "Dimension". Por ejemplo, mire la imagen de abajo.

Código:

Sub Data_Type () k = 45 End Sub

# 2 - Explícitamente

Esta es una forma adecuada de declarar una variable. Yo lo llamaría una forma oficial y profesional. Para declarar una variable, tenemos que usar la palabra “DIM” y asignar un tipo de datos a la variable.

Código:

Sub Data_Type () Dim k As Integer k = 45 End Sub

Hemos definido la variable "k" como puede ver en la imagen de arriba y hemos asignado el tipo de datos como "Entero".

Reglas para definir variable

  • La variable no puede contener ningún carácter de espacio.
  • La variable no debe contener ningún carácter especial excepto "guión bajo" (_)
  • La variable no debe comenzar con un carácter numérico.
  • La variable no debe contener directamente ninguna palabra clave de VBA.

Ejemplos

Ejemplo 1

Para definir cualquier variable, primero debemos usar la palabra "Dim" y luego un nombre de variable.

Código:

Sub Data_Type () Dim var End Sub

A continuación, una vez que se da el nombre de la variable, necesitamos asignar un tipo de datos. Como comentamos anteriormente, podemos asignar cualquier tipo de datos.

Código:

Sub Data_Type () Dim var As Integer End Sub

He asignado el tipo de datos como Integer. Así que ahora debe recordar las limitaciones de la variable Integer, es decir, puede contener valores entre -32768 y 32768.

Código:

Sub Data_Type () Dim var As Integer var = 25000 End Sub

En la imagen de arriba, he asignado 25000, que está bien al alcance, pero en el momento en que ingrese el valor más que el límite, causará un error de desbordamiento en VBA.

Código:

Sub Data_Type () Dim var As Integer var = 35000 End Sub

Ahora puede ejecutar este código usando la tecla de método abreviado F5 o manualmente para ver el resultado.

El desbordamiento no es más que el valor asignado del tipo de datos es más que su capacidad.

Ejemplo # 2

Del mismo modo, no podemos asignar valores diferentes también. Por ejemplo, no podemos asignar el valor "Cadena" a la variable de tipo de datos enteros. Si se asigna, obtendremos "Error de no coincidencia de tipo".

Código:

Sub Data_Type1 () Dim var As Integer var = "Hii" End Sub

Ahora ejecute este código con la tecla de método abreviado F5 o manualmente para ver el resultado.

Cosas para recordar

  • Utilice siempre la palabra DIM para definir la variable.
  • Antes de asignar el tipo de datos, asegúrese de qué tipo de datos va a almacenar en él.
  • Asignar más del valor de capacidad al tipo de datos provoca un error de desbordamiento, y asignar un valor diferente al tipo de datos provoca un "Error de no coincidencia de tipos".

Articulos interesantes...