für jede Schleife mit Benutzer-definierten Klasse von Objekten in vba
Den code hier ein und erhalten Sie einen Run-time error '424' Objekt erforderlich in der ersten Zeile der for-each-Anweisung
Public Sub test()
Dim a As clsTest
Dim dic As Dictionary
Dim tmpObj As clsTest
Set dic = New Dictionary
Set a = New clsTest
dic.Add "1", a
dic.Add "2", New clsTest
dic.Add "3", New clsTest
For Each tmpObj In dic.Items '--<< error: Run-time error '424' Object required
Debug.Print tmpObj.i
Next tmpObj
Stop
End Sub
Du musst angemeldet sein, um einen Kommentar abzugeben.
Drei Optionen
1)
2)
3)
haben Sie zwei Möglichkeiten:. Deklarieren Sie die variable als eine Variante:
Oder Iteration über die Kollektion:
Einen
Dictionary.Items()
ist ein variant-array soFor Each
musstmpObj
alsVariant
.Alternative mit einer typisierten
tmpObj
ist: