====== [VBA] Class Property Let/Get ====== VBA unterscheidet zwischen Objekten und 'normalen' Datentypen. So auch bei den Propeties einer %%UserClass%%. \\ Je nachdem muss man mit LET oder mit SET arbeiten. Wenn man jedoch nicht weiss, ob ein Objekt oder ein Type daherkommt und das für die Klasse auch nicht relevant ist, kann man auch beide Versionen auf dasselbe Property umsetzen. Private src AS Variant 'Array, Collection oder Disctionary '/** ' * Property Source beinhaltet die Quellliste. Das kann ein Array, eine Collection oder ein Dictionary sein. ' * Die letzteren Beide sind Objekte ' */ ' Setzen eines Types Public Property Let Source(ByRef iList As Variant) 'Setzen für Arrays me.src = iList End Property ' Setzen eines Objektes Public Property Set Source(ByRef iList As Variant) 'Setzen für Objekte Set me.src = iList End Property ' Und auch wieder ausgeben. Hier muss ich im Code nach Objekt/Type unterscheiden Public Property Get Source() As Variant If isObject(me.src) Then Set Source = me.src 'Objekt Else Source = me.src 'Type End iF End Property > Für den Get eignet sich dann auch die Funktion [[vba:functions:ref]] >Siehe auch das Property Source in meiner [[:vba:classes:iterator:|Iterator-Klasse]]