Bueno, aqui está la rutina generica para la creación de una matriz de objetos:
Código vb:
Ver originalPublic Sub CrearMatriz(Objeto As Object, Filas As Single, Columnas As Single, Optional Top As Single = -1, Optional Left As Single = -1)
Dim Linea As Single, Columna As Single, Indice As Integer
' Borramos previamente los posibles Objetos creados en tiempo de ejecucion
For Indice = 1 To Objeto.Count - 1
Unload Objeto(Indice)
Next
' Situamos el primero en la posición deseada, si así se le indica
If Top <> -1 Then Objeto(0).Top = Top
If Left <> -1 Then Objeto(0).Left = Left
' Efectuamos el Bucle de creación de la matriz
Indice = 0
For Linea = 1 To Filas
For Columna = 1 To Columnas
If Indice > 0 Then Load Objeto(Indice)
With Objeto(Indice)
.Move Objeto(0).Left + (Columna - 1) * .Width, Objeto(0).Top + (Linea - 1) * .Height
.Visible = True
End With
Indice = Indice + 1
Next
Next
End Sub
Como puedes ver, tiene dos parámetros opcionales para cambiar el Top y Left a una posición diferente de la posición ocupada en tiempo de diseño.
Saludos