Excel VBA Collection Object

Hemos visto que VBA Dictionary y VBA Array tienen una conexión similar con VBA Collection. En VBA Collection, podemos crear nuestra propia colección de grupo y proporcionar el elemento y la clave para obtener el valor almacenado debajo de él. Mientras que en VBA Dictionary solíamos crear el propio diccionario en VBA, que crea nuestro propio diccionario que tiene una definición de palabras y valores como el diccionario normal. Y lo mismo en VBA Array también, donde solíamos crear un objeto de colección con un tamaño limitado.

La ventaja de VBA Collection es que no necesitamos extender el tamaño de ningún objeto que definimos aquí. Cualquier objeto creado en VBA Collection no tiene ninguna limitación. Y no tenemos que cambiar el tamaño de ningún objeto como si pensáramos que lo requiere.

Junto con la creación del objeto Agregar colección, también podemos usar Contar, Elemento y Eliminar objetos de colección.

¿Cómo crear un objeto de colección en Excel VBA?

A continuación se muestran los diferentes ejemplos para crear objetos de colección en Excel utilizando el código VBA.

Puede descargar esta plantilla de Excel de la Colección VBA aquí - Plantilla de Excel de la Colección VBA

Colección Excel VBA - Ejemplo # 1

En este ejemplo, veremos cómo crear una colección de objetos en VBA. Para esto, siga los pasos a continuación:

Paso 1: vaya a la ventana VBA, en la pestaña del menú Insertar, seleccione Módulo como se muestra a continuación.

Paso 2: escriba la subcategoría de la Colección VBA con el mismo nombre o podemos elegir cualquier otro nombre según nuestra conveniencia.

Código:

 Sub Excel_Collection1 () End Sub 

Paso 3: Ahora defina una variable como Colección en cualquier nombre como se muestra a continuación.

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection End Sub 

Podemos elegir cualquier palabra, texto o nombre para definir una variable, pero se recomienda definir eso en el proceso de realizar la función primero.

Paso 4: Establezca la variable definida como Nueva colección. Esto ayudará a activar y configurar el objeto ya definido como Colección en Nueva Colección.

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection End Sub 

Paso 5: Hemos visto en la descripción de diferentes objetos de colección como Add, Ite m, Count y Remove . Ahora usaremos todos estos objetos para almacenar contenido nuevo. Primero, para agregar, asignaremos el ADD a la variable definida ColObject .

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add End Sub 

Paso 6: Ahora bajo ITEM, elegiremos un número de secuencia que puede ser cualquier cosa. Aquí, lo estamos seleccionando como 1.

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, End Sub 

Paso 7: En la sintaxis de VBA Collection, necesitamos ingresar la CLAVE para la cual podemos asignar el ARTÍCULO. Aquí también podemos elegir cualquier cosa para agregar en el repositorio de VBA. Hemos considerado la palabra Newton aquí.

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" End Sub 

Paso 8: Podemos omitir la porción de sintaxis antes y después. Ahora, después de eso, asignaremos la Clave a una variable de objeto Colección.

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") End Sub 

Paso 9: use un cuadro de mensaje para ver el valor almacenado en la variable de objeto Colección.

Código:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub Sub 

Paso 10: Ahora compile el código y ejecútelo haciendo clic en el botón Reproducir ubicado debajo de la barra de menú.

Obtendremos el mensaje como 1. Lo que significa que para la clave Newton, el artículo se encuentra en la posición.

Excel VBA Collection- Example # 2

Hay otro método o forma por la cual podemos ver qué número de artículo se asigna a qué Clave. También podemos contar el número de claves rellenadas en el objeto de la Colección VBA. Este proceso es bastante similar al proceso que hemos visto en el ejemplo-1. Para esto, siga los pasos a continuación:

Paso 1: escriba la subcategoría de la Colección VBA como se muestra a continuación.

Código:

 Sub Excel_Collection2 () End Sub 

Paso 2: Considere la misma variable que hemos visto en el ejemplo-1 como Colección y configúrela como Nueva Colección como ColObject.

Código:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection End Sub 

ColObject es la única variable aquí en este ejemplo por esa ayuda veremos el recuento o secuencia de definir Elemento y Clave.

Paso 3: Ahora, al objeto de Colección definido, asigne la función AGREGAR y elija cualquier valor según su elección. Aquí estamos seleccionando 10.

Código:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 End Sub 

Paso 4: Del mismo modo, agregue 2 o 3 objetos de colección más como se muestra a continuación.

Código:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub 

Paso 5: para conocer el recuento de elementos utilizados en el objeto de colección, utilizaremos la impresión de depuración.

Código:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub 

El principal punto a favor de utilizar la impresión de depuración aquí en lugar del cuadro de mensaje es que podríamos obtener el recuento junto con el error si hubiera alguno. Para cualquier error, obtendremos una salida como cero y, para el proceso correcto, obtendremos el valor real.

Paso 6: Para obtener el recuento de la variable ColObject, utilizaremos la función Count, que es parte de una función incorporada en la lista.

Código:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub 

Paso 7: desde la opción del menú Ver, seleccione la ventana Inmediato como se muestra a continuación. O podemos usar una tecla de atajo como Ctrl + G para obtener esta ventana.

Este es el lugar donde veremos el resultado usando la impresión de depuración.

Paso 8: Ahora compile el código y ejecútelo haciendo clic en el botón Reproducir ubicado debajo de la barra de menú. Veremos, en la ventana inmediata, el recuento de colecciones de objetos totales viene como 3 .

Ahora para probar, si el recuento obtenido es correcto o no, eliminaremos una fila del objeto de colección o la convertiremos en texto colocando un apóstrofe (') y nuevamente ejecutaremos el código.

Obtendremos el recuento actualizado como 2, que es el recuento del objeto de colección 10 y 20 Número de artículo. Y podemos notar que la tercera línea del objeto de colección está coloreada en verde y esta es la señal de que el código se convierta en texto.

Pros de Excel VBA Collection

  • No necesitamos cambiar el tamaño del objeto que definimos.
  • Podemos usar diferentes objetos de colección que están incorporados en Excel VBA Collection. Estos objetos no se ven en otras funciones, como VBA Dictionary o VBA Array.
  • Por VBA Collection, también podemos utilizar cualquier tipo de base de datos de clientes o productos.

Cosas para recordar

  • Se recomienda utilizar la impresión de depuración en lugar del cuadro de mensaje. Con esto, podríamos ver el error y rectificarlo.
  • Mediante la Colección VBA, podemos varios tipos de objetos y agregar cualquier tamaño de datos.
  • En la función Objeto del artículo, podemos definir cualquier número según nuestra elección. Puede ser el código del producto, la secuencia o el precio que queremos ver.
  • Guardar el archivo en Macro enable excel nos permitirá retener el código para más.

Artículos recomendados

Esta es una guía de la Colección VBA. Aquí discutimos cómo crear un objeto Collection en Excel usando el código VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Guía para usar la longitud de la matriz VBA
  2. ¿Cómo calcular el rango en Excel?
  3. Tutoriales en celdas VBA
  4. PowerPivot en Excel

Categoría: