Excel vba:错误的参数数量或无效的属性分配集合添加

我已经得到了一个

错误的参数数量或无效的属性分配集合

现在错误很长时间了,但是搞不清楚是怎么回事。 我在这个类里有一个类和一个Collection ,还有一个Sub为这个集合添加了值。

 Private sumLosses As Collection Private Sub Class_Initialize() Set sumLosses = New Collection End Sub Public Property Get getSumLosses() getSumLosses = sumLosses End Property 

主模块内部:

 For Each clientCopy In clientsColl clientCopy.getSumLosses.Add 200 'error clientCopy.getSumLosses.Add (200) 'error Next 

为什么这会失败,我如何将这些项目添加到类的集合?

sumLossesCollectiontypes的,因此它是一个对象,必须被Set为另一个variables/函数。

使用Set它应该工作:

 Public Property Get getSumLosses() As Collection Set getSumLosses = sumLosses End Property 

另外定义As Collection属性可能不是坏主意(但是这不会导致错误)。

您需要将Public Property Get getSumLosses()声明为Collection并使用Set

 Private sumLosses As Collection Private Sub Class_Initialize() Set sumLosses = New Collection End Sub Public Property Get getSumLosses() as Collection Set getSumLosses = sumLosses End Property 

🙂