【发布时间】:2014-06-27 18:03:51
【问题描述】:
Public Function RETURN_Equipment(Optional category As String) As Collection
Dim config As classConfiguration
Set config = New classConfiguration
Dim item As classItem
Set item = New classItem
Dim myCollection As Collection
Set myCollection = New Collection
For Each config In Configurations
For Each item In config.colItems
If IsMissing(category) Then
myCollection.add item
ElseIf InStr(category, "mainframe") <> 0 And item.category = "mainframe" Then
myCollection.add item
MsgBox "Fired!"
ElseIf category = "accessory" And item.category = "accessory" Then
Else
End If
Next
Next
RETURN_Equipment = myCollection
End Function
我一直在努力
编译错误:
参数不是可选的
我在最后一行得到错误
RETURN_Equipment = myCollection
我理解错误信息,它告诉我我没有填写参数。但是我只有一个参数,而且我已经声明它是可选的。看起来代码认为我正在尝试从函数中调用函数?
什么给了?
【问题讨论】:
-
集合的默认值是
.Item,它需要一个索引。要将集合对象的引用分配给变量,您需要在行首使用Set关键字。