View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default newbie needs help with collections

Untested--too many functions don't exist for me (getMaxByProgram for example).

But this made it by the error:

Set topResults = getTopResults(results)

Collections are objects. To assign objects, you need to use the Set keyword.

For example:
dim rng as range
set rng = range("a1:B9")

rozner wrote:

Hi,

I am having some trouble with collections. I'm trying to pass a
collection to a function to do some work, but whenever I get a compile
error "argument not optional". Everything seems to look ok, I've tried
a lot of variations on this, here is my code:

Code:
--------------------


Dim results As New Collection

' code here to get results

Dim topResults As New Collection

' call get top results function
topResults = getTopResults(results) ' fails here


' top results function
Public Function getTopResults(ByRef list As Collection) As Collection

Dim maxByProgram As Collection
Dim topResults As Collection

maxByProgram = getMaxByProgram(list)

Dim i As Integer
For i = 0 To list.Count
Dim result As Score
Dim Program As String

result = list(i)
Program = Score.Program

Dim max As Integer
max = maxByProgram.Item(Program).Score

If Score.Score = max Then
topResults.Add result
End If
Next i

getTopResults = topResults

End Function

--------------------

Any help on this would be much appreciated.

--
rozner
------------------------------------------------------------------------
rozner's Profile: http://www.excelforum.com/member.php...o&userid=25794
View this thread: http://www.excelforum.com/showthread...hreadid=392006


--

Dave Peterson