For Each Loop

tiredofit

Well-known Member
Joined
Apr 11, 2013
Messages
1,102
Following from this thread:

Rich (BB code):
https://www.mrexcel.com/forum/excel-questions/1114405-collections.html



I was told this piece of information:

Rich (BB code):
Syntax ... For Each element In group ... element ... For
collections
, element can only be a Variant variable, a generic object variable, or any specific object variable.
So here's my code:

Rich (BB code):
Dim Coll As Collection
    
    Set Coll = New Collection
    
    Coll.Add "Apple"
    Coll.Add "Pear"
    Coll.Add "Orange"
    
    Dim i As Collection
    For Each i In Coll
    
        Debug.Print i
    
    Next i



but it generates an object required error.

According to the article, i can be a Variant, generic object or specific object, so I have declared it here as a Collection (ie a specific object), yet it stil fails.

Why is that?

I've even tried:

Rich (BB code):
Dim Coll As Collection
    
    Set Coll = New Collection
    
    Coll.Add "Apple"
    Coll.Add "Pear"
    Coll.Add "Orange"
    
    Dim i As Collection
    Set i = New Collection
    
    For Each i In Coll
        
        
        Debug.Print i
    
    Next i



but get the same error.

Thanks


<strike></strike>

<strike></strike><strike></strike>
 
Last edited:

DanteAmor

Well-known Member
Joined
Dec 3, 2018
Messages
9,651
Office Version
2007
Platform
Windows
Maybe

Code:
Sub test()
  Dim [COLOR=#008000]Coll As New Collection[/COLOR],[B][COLOR=#0000ff] i As Variant[/COLOR][/B]
  Coll.Add "Apple"
  Coll.Add "Pear"
  Coll.Add "Orange"
  For Each i In Coll
    Debug.Print i
  Next i
End Sub
Or

Code:
Sub test_2()
  Dim [COLOR=#008000]Coll As New Collection[/COLOR], [B][COLOR=#0000ff]i As Long[/COLOR][/B]
  Coll.Add "Apple"
  Coll.Add "Pear"
  Coll.Add "Orange"
  For i = 1 To Coll.Count
    Debug.Print Coll(i)
  Next i
End Sub
 

tiredofit

Well-known Member
Joined
Apr 11, 2013
Messages
1,102
Thanks but why can't I be declared as a collection because according to the article, it can be a variant, generic object or specific object?
 

DanteAmor

Well-known Member
Joined
Dec 3, 2018
Messages
9,651
Office Version
2007
Platform
Windows
The article refers to the elements:
"element ... For collections, element can only be a Variant variable, a generic object variable, or any specific object variable. "

But the group can be declared as a collection
 

Forum statistics

Threads
1,085,294
Messages
5,382,755
Members
401,804
Latest member
RB85

Some videos you may like

This Week's Hot Topics

Top