ich möchte eine Listbox in einem Userform befüllen mit einem Array, so wie ich es in einem anderen Makro auch schon getan habe aber diesmal will es irgendwie nicht klappen.
Ich bekomme immer "Eigenschaft Liste konnte nicht gesetzt werden. Ungültiger Eigenschaftswert. "
Das ist der Code mit dem das Array erzeugt wird:
' Event Handler
Private Sub m_TWSControl_symbolSamples(ByVal reqId As Long, ByVal contractDescriptions As _
TWSLib.IContractDescriptionList)
' Array für Listbox füllen
Dim cd As TWSLib.ComContractDescription
Dim derivateTypes As String
Dim i As Long
Dim J As Long
For i = 0 To contractDescriptions.Count - 1
Set cd = contractDescriptions.Item(i)
ReDim Preserve vArray(5, i)
vArray(0, i) = contractDescriptions.Item(i).contract.conId
vArray(1, i) = contractDescriptions.Item(i).contract.Symbol
vArray(2, i) = contractDescriptions.Item(i).contract.secType
vArray(3, i) = contractDescriptions.Item(i).contract.primaryExchange
vArray(4, i) = contractDescriptions.Item(i).contract.currency
derivateTypes = ""
For J = 0 To cd.DerivativeSecTypes.Count - 1
derivateTypes = derivateTypes & cd.DerivativeSecTypes.Item(J) & Space(1)
Next J
vArray(5, i) = derivateTypes
' Array transponieren für Format der Listbox
ReDim tArray(i, 5)
tArray(i, 0) = vArray(0, i)
tArray(i, 1) = vArray(1, i)
tArray(i, 2) = vArray(2, i)
tArray(i, 3) = vArray(3, i)
tArray(i, 4) = vArray(4, i)
tArray(i, 5) = vArray(5, i)
Debug.Print tArray(i, 0)
Debug.Print tArray(i, 1)
Debug.Print tArray(i, 2)
Debug.Print tArray(i, 3)
Debug.Print tArray(i, 4)
Debug.Print tArray(i, 5)
Next i
End Sub
Und mit folgendem Code wird die Listbox dann erzeugt:
Sub Userform_Activate()
ListBox1.ColumnCount = 6
ListBox1.ColumnWidths = "2cm;2cm;2cm;2cm;2cm;2cm"
ListBox1.List = tArray
End Sub
Ich finde den Fehler einfach nicht.
Seltsamerweise wurden die Daten zunächst ein oder zwei mal in die Listbox übernommen und dann ging es plötzlich nicht mehr aber ich finde die Ursache nicht.
hat jemand eine Idee?
VG,
marc