Type Dividends ExDate As Date PayDate As Date Curcy As String Dividend As Double End Type Type Equity Name As String Symbol As String Dividends As Dividends End Type Public Equities As Collection Sub Demo() Dim myEquity As Equity, myDividends() As Dividends myEquity.Name = "VBAFIN.com" myEquity.Symbol = "VBFN.V" ReDim myDividends(1 To 3) myDividends(1).ExDate = #1/3/2011# myDividends(1).PayDate = #2/7/2011# myDividends(1).Dividend = 1.34 myDividends(2).ExDate = #1/3/2012# myDividends(2).PayDate = #2/7/2012# myDividends(2).Dividend = 1.74 myDividends(1).ExDate = #1/3/2013# myDividends(1).PayDate = #2/7/2013# myDividends(1).Dividend = 2.15 For i = 1 To UBound(myDividends) myDividends(i).Curcy = "GBP" Next i AddEquity myEquity End Sub Function AddEquity(eqtData As Equity) As String Equities.Add eqtData AddEquity = eqtData.Symbol End Function