Define a row class, and then create a list of rows, like so:
Class row
Inherits Collections.ArrayList
End Class
Dim cols As New List(Of row)
Now you can access your objects using a x/y notation:
cols(0)(1)
Note this is just a simple example, your structure is uninitialized and untyped.
You can also Shadow the IndexOf function in your own class, for example finding the indexOf by an item's name:
Class col
Inherits Generic.List(Of Object)
Shadows Function IndexOf(ByVal itemName As String) As Integer
Dim e As Enumerator = Me.GetEnumerator
While e.MoveNext
If CType(e.Current, myType).name = itemName Then
Return e.Current
End If
End While
End Function
End Class
You can then access it like so:
Private cols As New col
cols.IndexOf("lookingfor")