What are you trying to do? Normally, once one stores an object in a
collection, you have to *know* the key through some independent process
to retrieve it.
Yes, you can make your example work but it makes little sense. Here's
why.
First, to make it work you should use
c.add obj,obj.key
set obj=c(obj.key)
Why doesn't it make sense? If you get the key from the object, you
already have a variable pointing to the object. Why bother retrieving
it from the collection?
--
Regards,
Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions
In article .com,
says...
Hi,
I have used a collection to store a set of Objects that I need to look
up by the Key value...
Like
Dim c As Collection
Set c=New Collection
c.Add Obj, Obj.Key
Neither of these seem to work-
Key = c(Obj.Key)
Or
Key = c.Item(Obj.Key)
Although the help on the VBA Collection object behaviour seems to
support either of these two types of Look Up.
Is there some Version / Application Dependency that i might be mnissing
here?
Also I had to replace the collection with a dictionary for this to
work. My observation has been that "Add" into a Dictionary is slower
compared to a collection. The Lookup I havent been able to compare,
since I havent been able to Look up an Obj by key from a collection.
Help / Ideas, Please?
Thanks in Advance,
Megha.