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

时间:2017-11-22 08:18:23

标签: excel vba 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

为什么会失败,如何将项目添加到班级的收藏中?

2 个答案:

答案 0 :(得分:8)

sumLosses属于Collection类型,因此它是一个对象,必须Set为另一个变量/函数。

使用Set它应该有效:

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

同样定义属性As Collection可能也不错(但这并没有导致错误)。

答案 1 :(得分:5)

您需要将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

:)