View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tushar Mehta Tushar Mehta is offline
external usenet poster
 
Posts: 1,071
Default Collection Look Up - By Key in an Excel VBA App.

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.