Hasta donde yo sé, VBA Collection se implementa como una lista vinculada (utilizada por los índices enteros y For Each ... Next) y una tabla hash (utilizada por las teclas). Y como dijo Raven, no puedes tener múltiples elementos con la misma llave.
Editado:
@MarkJ: Debería haber dado mi citar para ello: Hardcore Visual Basic 2ª Ed. por Bruce McKinney, publicado por Microsoft Press 1997 ISBN 1-57231-422-2
Cotizaciones:
Página 191 - la clase de colección
"En pocas palabras, la clase de colección es una souped- hasta la versión C++ de la clase CList [...]. De hecho, si mejora CList para que sea una lista doblemente enlazada y le dé algunas características más (y tal vez use una tabla hash para buscar las claves de cadena), tendrá tener una clase de colección muy parecida a la proporcionada con Visual Basic ".
Página 197 - Rendimiento
"Y, como cuestión de hecho, me han dicho por los desarrolladores de Visual Basic que se Colecciones lista doblemente enlazada (con características adicionales para apoyar la indexación)."
Ahora, McKinney era más un periodista que un programador, y no un desarrollador. Sin embargo, trabajó para Microsoft y tiene contactos en los equipos de VB y VBA. Su explicación funciona para mí.
Dicho sea de paso, el motivo de la lista de enlaces dobles es hacer que sea eficiente insertar elementos tanto al principio como al final de la colección.
** No ** puede ** tener varios elementos con la misma clave en una Colección VB6. – raven
¿Has probado esto? Voy a probar esta mañana ... Pensé que agregar la misma clave no era un problema. –
Agregar elementos múltiples con la tecla NO es correcto, pero las claves son insensiblemente únicas (independientemente de la declaración de Option Compare). –