To activate For Each...Next iteration in your VB collections, place the following procedure in your collection object:
' NewEnum must return the IUnknown interface of a
' collection's enumerator.
Public Function NewEnum() As IUnknown
Set NewEnum = YourCollectionObject.[_NewEnum]
To hide the NewEnum function, and to give it the appropriate procedure ID, go to Tools/Procedure Attributes. Make sure NewEnum is selected in the Name box. Then click Advanced and check