VBA – Array de Variantes

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on marzo 29, 2023

Este tutorial mostrará cómo crear y trabajar con Matrices de Variantes.

Array Tipo Variant

Un array es un tipo de variable. Como con otras variables, los arrays se declaran utilizando la sentencia Dim para un array a nivel de módulo o procedimiento, o la sentencia Public para un array a nivel global.

Una matriz variante es una matriz que se declara con un tipo de datos variant. Los tipos de datos variant pueden almacenar cualquier tipo de valores: texto, números, fechas, hora u objetos.

Ventajas de los Arrays de Variantes

Los Arrays de variantes son especiales porque son más fáciles de trabajar que las matrices típicas.

  1. Son más fáciles de declarar.
  2. No tienes que preocuparte del tipo de datos que se introducen en la matriz (por ejemplo, si una celda contiene texto o números).
  3. Puedes rellenar el array con la función Array (si el tamaño del array no está definido cuando se declara).
  4. No es necesario utilizar la sentencia REDIM para redimensionar / repoblar la matriz (si el tamaño de la matriz no se define cuando se declara).

Declaración de un Array Variant

Para declarar un array variante, puede escribir esta sencilla sentencia

Dim varNombres()

Esto se considera un Array variante dinámico.

Observa que no necesitas especificar el tipo de datos (se asume que es variante) o el tamaño del array.

Asignar Valores a un Array de Variantes

Los Arrays de variantes pueden contener cualquier tipo de valores: texto, números, fechas, hora u objetos.

Para asignar valores a una matriz de variantes, puede utilizar la función Matriz:

    'rellenar el array
    varNombres() = Array("Fred", "Wilma", "Barney", "Betty")

Este método puede resultarle más fácil que utilizar el método estándar:

    'rellenar cada elemento
    varNombres(0) = "Fred"
    varNombres(1) = "Wilma"
    varNombres(2) = "Barney"
    varNombres(3) = "Betty"

Redimensionar Array de Variantes

Los Arrays de variantes dinámicas pueden cambiar de tamaño en tiempo de ejecución. No es necesario utilizar las típicas sentencias Redim o Redim Preserve necesarias para redimensionar matrices estándar.

Ejemplo de Array Variante

Poniendo todo esto junto, este procedimiento poblará, y repoblará un array de variantes:

Sub Prueba_Array()
'declarar la  variable
    Dim varNombres() As Variant
'rellenar el array
    varNombres() = Array("Fred", "Wilma", "Barney", "Betty")
'Devolver valores
    MsgBox Join(varNombres, ",")
'Rellenar nuevamente el array
    varNombres() = Array(400, 500)
'Devolver los nuevos valores
    MsgBox Join(varNombres, ",")
End Sub

Hemos rellenado la matriz varNombres con 4 nombres, y luego con 2 números. Los cuadros de mensaje aparecerán de la siguiente manera.

Array Nombres

 

Array Números

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples