domingo, 30 de diciembre de 2012

COLECCIONES

¿Qué es una colección?
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

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.