I always liked the Collection object in VB but for large number of items access by index was very slow. And Scripting.Dictionary couldn't access by index. So I wrote "DictCollection", a mix of Collection and Dictionary that can emulate both. With sorting, filtering, subcollection nesting, .Copy(), .Clone(), .ToArray(), .ToTable() and lots of String/Array manipulation functions. It's a universal data structure just like the JavaScript object or LUA table. It can act as a list/array, a key-value-store or an object tree. Take a look here https://github.com/karstenheld3/WhizzyVBA