ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Problems returning Collection object (https://www.excelbanter.com/excel-programming/336796-problems-returning-collection-object.html)

McManCSU[_23_]

Problems returning Collection object
 

I get this error:
Compile error

Argument not optional

when i try to return a collection like this:

For i = 1 To assyNums.count
For j = 1 To assyNums.Item(i).getBOM.count
partnum = assyNums.Item(i).getBOM.Item(j)
occur = numOccurances(partnum)
numOccur.Add (occur)
Next j
.......

(BOMParts is an obj variable and is already initialized)
Public Function getBOM() As Collection
getBOM = BOMparts
End Function


I have tried the simple way where I make a temporary collection an
assign it to what ".getBOM()" returns but same error. Any help

--
McManCS
-----------------------------------------------------------------------
McManCSU's Profile: http://www.excelforum.com/member.php...fo&userid=2437
View this thread: http://www.excelforum.com/showthread.php?threadid=39422


Jim Cone

Problems returning Collection object
 
M,

It is difficult to understand what you are trying to do.
Please show your variable declarations and describe
what the code is supposed to do.

Jim Cone
San Francisco, USA


"McManCSU"

wrote in message
...

I get this error:
Compile error

Argument not optional

when i try to return a collection like this:

For i = 1 To assyNums.count
For j = 1 To assyNums.Item(i).getBOM.count
partnum = assyNums.Item(i).getBOM.Item(j)
occur = numOccurances(partnum)
numOccur.Add (occur)
Next j
.......

(BOMParts is an obj variable and is already initialized)
Public Function getBOM() As Collection
getBOM = BOMparts
End Function


I have tried the simple way where I make a temporary collection and
assign it to what ".getBOM()" returns but same error. Any help?


--
McManCSU
------------------------------------------------------------------------
McManCSU's Profile: http://www.excelforum.com/member.php...o&userid=24379
View this thread: http://www.excelforum.com/showthread...hreadid=394222


McManCSU[_24_]

Problems returning Collection object
 

All I am trying to do is step through a collection which I have in a
object. So I want is to do a 'get function' to get the collection
store it into a temp variable, and then do a "for each... " But fo
some reason if gives that error and points to where I assign tempBO
the collection.


Code
-------------------
Private Sub setupTFIDF()
Dim partnum As String
Dim occur As Integer
Dim numOccur As New Collection
Dim tempBOM As New Collection
Dim assy As New Assembly
Dim comp As New Component

For Each assy In assyNums
tempBOM = assy.getBOM()
For Each comp In tempBOM
partnum = comp.getAssy()
occur = numOccurances(partnum)
numOccur.Add (occur)
Next comp
'Calc TFIDF by sending number of boards and occurance list
assy.determineTFIDF numBoards, numOccur
Next assy
End Su
-------------------


and using this "Assembly" object:


Code
-------------------
Private BOMparts As New Collection
.......
.......
Public Function getBOM() As Collection
getBOM = BOMparts
End Functio
-------------------

--
McManCS
-----------------------------------------------------------------------
McManCSU's Profile: http://www.excelforum.com/member.php...fo&userid=2437
View this thread: http://www.excelforum.com/showthread.php?threadid=39422


McManCSU[_25_]

Problems returning Collection object
 

Ok, i narrowed it down:

Dim x As New Collection
Dim y As New Collection
x = y

it errors with that same error on 'x=y'

why and how can i fix it

--
McManCS
-----------------------------------------------------------------------
McManCSU's Profile: http://www.excelforum.com/member.php...fo&userid=2437
View this thread: http://www.excelforum.com/showthread.php?threadid=39422


Jim Cone

Problems returning Collection object
 
M,

You may want to review:
Don't Use The New Keyword In A Dim Statement
http://www.cpearson.com/excel/variables.htm

The following doesn't throw an error,
but how you would use it is a puzzle to me.
'-------------------
Dim x As New Collection
Dim y As New Collection
Set x = y

'Do stuff

Set x = Nothing
Set y = Nothing
'------------------
Jim Cone
San Francisco, USA


"McManCSU"

wrote in message
...

Ok, i narrowed it down:

Dim x As New Collection
Dim y As New Collection
x = y
it errors with that same error on 'x=y'
why and how can i fix it?
--
McManCSU



All times are GMT +1. The time now is 02:06 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com