Una colección es un objeto utilizado para agrupar
y administrar objetos relacionados. Las colecciones son un buen método para
hacer un seguimiento de los objetos que una aplicación puede necesitar crear o
destruir dinámicamente.
Una colección se parece a una matriz, en el
sentido que podemos acceder a sus elementos mediante un índice.
Ventajas de utilizar colecciones frente a las
matrices:
- Utilizan menos memoria.
- El acceso a los elementos de la colección es mas flexibe.
- Las colecciones tienen métodos para añadir nuevos elementos y eliminar otros.
- El tamaño de la colección se ajusta automáticamente.
- Pueden tener simultáneamente elementos de diferentes tipos.
La palabra clave New en la declaración de la
variable produce un objeto Collection que se va a crear cuando el control pasa
a la instrucción de declaración.
Dim loteria As New Collection
El objeto Collection tiene los siguientes
métodos:
- Add: Agrega un elemento a un objeto Collection de VBA.
- Remove: Quita un elemento de un objeto Collection de VBA.
Y las siguientes propiedades:
- Count: Devuelve un valor Integer que contiene el número de elementos en una colección.
- Item: Devuelve un elemento concreto de un objeto Collection de VBA por posición o por clave.
El siguiente procedimiento creamos la colección
lotería con cinco elementos (números
aleatorios de 0 a 9) que presentamos concatenados dentro de una variable
string en un mensaje.
Sub loteriaNiño()
Dim loteria As New
Collection
Dim numero As Integer, n
As Integer
' Llenamos el objeto
colección de números enteros aleatorios.
For n = 1 To 5
numero = Int(rnd * 9)
loteria.Add numero
Next n
' Recorremos el objeto de
colección para presentar el numero.
Dim premio As String
For n = 1 To loteria.Count
premio = premio & loteria.Item(n)
Next n
MsgBox "El numero
premiado es... " & Chr(13) & premio
End Sub