View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Sam Wilson Sam Wilson is offline
external usenet poster
 
Posts: 523
Default Understanding the difference

dim i, j as integer declares i as a variant and j as an integer, so

Dim sums, colors, products As New Collection declares two variants (sums,
colors) and one collection.

Sam

"Fabian" wrote:

Below are two programs that - to my understanding - are the same. Why does
the first one generate an error message and the second one not? Such small
differences (there is a similar thing with the Collection.add function) often
incur hours of debugging to me and therefore I would love to understand them.

1st:

Dim sums As New Collection
Dim colors As New Collection
Dim products As New Collection

If ExistsInColl(sums, color) Then "do stuff"

2nd:

Dim sums, colors, products As New Collection

If ExistsInColl(sums, color) Then "do stuff"


the function that is called:

Public Function ExistsInColl(ByRef col As Collection, ByVal index As String)
As Boolean
On Error GoTo ErrNotInColl
Dim tmp
tmp = col(index)
ExistsInColl = True
Exit Function
ErrNotInColl:
On Error GoTo 0
ExistsInColl = False
End Function