vba excel range cells



Excel vba: falsche Anzahl von Argumenten oder ung├╝ltige Auflistung von Eigenschaftenzuweisungssammlungen (2)

Sie müssen Public Property Get getSumLosses() deklarieren Public Property Get getSumLosses() als Collection Public Property Get getSumLosses() und 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

:)

Ich habe eine bekommen

Falsche Anzahl von Argumenten oder Auflistung ungültiger Eigenschaftenzuweisungen

Fehler für eine lange Zeit jetzt, kann aber nicht herausfinden, was los ist. Ich habe eine Klasse und eine Collection innerhalb dieser Klasse und eine Sub , um Werte zu dieser Collection hinzuzufügen.

Private sumLosses As Collection

Private Sub Class_Initialize() 
    Set sumLosses = New Collection
End Sub

Public Property Get getSumLosses()
    getSumLosses = sumLosses
End Property

Innerhalb des Hauptmoduls:

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

Warum schlägt das fehl und wie füge ich die Elemente einer Auflistung einer Klasse hinzu?


Answer #1

sumLosses ist vom Typ Collection daher ist es ein Objekt und muss auf eine andere Variable / Funktion gesetzt werden.

Mit Set sollte es funktionieren:

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

Auch das Definieren der Eigenschaft As Collection ist keine schlechte Idee (aber das hat den Fehler nicht verursacht).