[VB/VBA] List in Private Type...

Pagina: 1
Acties:

  • MenaceD
  • Registratie: November 2001
  • Niet online
Ik ben bezig met een programma in excel met VBA... ben nu een aardig eindje op weg, maar er zit een hinderlijke fout in mijn code. Heb de help, search en msdn al geraadpleegd maar kom er niet uit. Ook de debugger biedt geen uitkomst; na een break en een foutmelding kan ik met F8 daarna wel verdergaan (??). Dus een foutmelding die in een functie die daarna wel kan worden doorlopen (klinkt dit niet vaag?).

Dan nu de fout:
(Code is groot dus doe stukjes)

Ik heb een private type gedeclareerd:

Private Type Aandeel
Type As String
Aantal As Integer
Koers As Single
Kolom As Integer
Rendementen As CList <-- dit is dus een list
End Type

dan declareer ik de variabele:

Dim Aandeel1 As Aandeel

Later in de code set ik de rendementen als list (een Class)

Set Aandeel1.Rendementen = New CList

Dan wordt de var Aandeel1 doorgegeven in naar een private sub:

RendementenVanAandeelBerekenen Aandeel1

Dan de sub:

Private Sub RendementenVanAandeelBerekenen(ByRef Aandeel As Aandeel)

"Hier is een stuk weg"

Aandeel.Rendementen.VoegGesorteerdToe (Rendement)

End Sub

en bij aandeel.rendementen.voeggesorteerdtoe(rendement) geeft hij dus een foutmelding :

Run time error "438"

Object doesn't support this property or method

Ik zit echt vast en denk dat ik scopes ofzo verkeerd zet. Iemand die iets ziet, als t nie voldoende code is kan ik de rest ook posten. nogmaals de debugger stopt het programma en als ik dan debug doe en doorlaat draaien doet hij t wel. Maar het is wel erg hinderlijk dat hij steeds afbreekt

  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Ik zou bij de aanroep of Call ervoor zetten of de haakjes weglaten want daar wil VB/VBA nog wel eens vage dingen mee doen, volgens mij krijg je dan ook zo'n soort foutmelding.
Dus:
code:
1
Call Aandeel.Rendementen.VoegGesorteerdToe (Rendement)

Waarom je dan wel gewoon door kan gaan met debuggen vind ik echter vreemd.
Wat doet de functie/sub VoegGesorteerdToe?