Ok,
Ik heb drie worksheets met data, namelijk:
"book1"(=index1), "book2"(=index2) en "book3(=index3)"
Ik heb vier classes aangemaakt, namelijk:
"clsBooks"(=Parent),"clsBook1"(=Child),"clsBook2"(=Child) en "clsBook3"(=Child)
Nu refereer ik mySheet in clsBook1 naar worksheet "book1", namelijk:
(clsBook2 en clsBook3 even buitenspel gezet om error te voorkomen)
Private mySheet as Sheet1
...
Private Sub Class_Initialize()
set mySheet=sheets(1)
end sub
Verder heb ik voor de benadering van de worksheet:
Public Property Get Sheet() As Sheet1
Set Sheet = mySheet
End Property
Vanuit een main class kan ik nu het volgende doen:
ind=mybooks.mybook1.sheet.combobox.listindex
Dit werkt volkomen.
Het probleem is namelijk dat als ik clsBook2 weer laat meedoen, het hier al mis gaat:
Private mySheet as Sheet2
...
Private Sub Class_Initialize()
set mySheet=sheets(2)
end sub
runtime error:13
type mismatch
Ik kan natuurlijk ook gewoon meteen vanuit een class het volgende doen:
sheets(2).anything
maar om trouw te blijven aan het objectmodel is het op deze manier als vloeken in de kerk.
En oke, ben groen, want kom er normaliter zelf wel uit, maar waarom dit niet lukt????
En ja misschien weet ik inderdaad niet waar ik mee bezig ben, vandaar de vraag.
Dat de topic helemaal op de verkeerde plek stond, ja, vanwege tijdgebrek een beetje slordig geweest.
Bedankt voor het aanpassen van de titel. Hoop dat jullie er niet wakker van hebben gelegen.