Not a collection object

You referred to a product object as though it were a collection, but it isn't a collection. For example, assuming the product class ProdADT, which is not a collection class:

Dim varV As Variant
Set varV = New ProdADT("abc")
ForAll X In varV				' Illegal. 
'...  
End ForAll

Remove the reference or replace its target with the name of a collection.