Acceder

Trucos y tretas en Excel VBA para programadores. Colecciones

Una colección es algo así como un vector, donde puedes almacenar valores, objetos u otras colecciones.

Te preguntas por qué no usar arreglos de dos dimensiones en lugar de usar dos colecciones.  La respuesta es que si en un arreglo vas a usar todos los elementos que contiene, y no necesitas eliminar elementos, es mejor usar un arreglo.  Pero si guardas dos colecciones de tamaños distintos dentro de otra colección, entonces es mejor usar colecciones.  También si necesitas eliminar o agregar elementos intercalados, lo mejor es usar una colección.

Por ejemplo, imagina que tienes un objeto tridimensional definido por triángulos que utilizan vértices. Y tienes grupos de triángulos para crear determinados componentes del objeto. 


En ese caso, tienes un objeto, compuesto por partes, cada uno de ellos compuesto por triángulos y los triángulos a su vez tienen vértices.  Cada una de esas agrupaciones es una colección.  En este post no vamos a hacer cosas tan complicadas, pero sí voy a enseñarte como se manejan las colecciones en VBA.

Imagina entonces que tenemos un vértice compuesto por 3 valores XYZ y un triangulo compuesto por 3 vertices. El vertice seria una coleccion de 3 valores, y un triangulo es una coleccion de 3 vértices. Como ves hay una jerarquía.

En este ejemplo vamos a crear dos colecciones.  Los círculos serán valores.  Los rectángulos serán colecciones.


La creación de estas colecciones se miraría así.


Y la segunda parte de esta macro, donde se despliega el contenido de la colección en celdas de Excel se muestra aquí.


Lo que obtendrás al desplegar será esto.



En este ejemplo, por simplicidad he creado colecciones de valores, pero puedes crear colecciones de objetos también.  Por ejemplo si programas un simuladore de coches de carreras, probablemente querras crear una coleccion de objetos para manejar los coches por separado.





¿Te ha gustado el artículo?

Si quieres saber más y estar al día de mis reflexiones, suscríbete a mi blog y sé el primero en recibir las nuevas publicaciones en tu correo electrónico.

Accede a Rankia
¡Sé el primero en comentar!