supergonzales,
serve un ciclo For. Però fai attenzione non sò se riesci a creare 1000 shape (usando una matrice di controlli, come indicato, forse sì, mentre non è possibile disegnare 1000 shape su una Form). Al riguardo devi consultare la guida.
Il seguente è il codice già postato con l'integrazione che ti ho detto.
Intendiamoci, non considera le coordinate ove dislocare le shape (la cosa si complica parecchio).
codice:
Option Explicit
Dim jj As Integer
Private Sub Command1_Click()
Dim j As Integer
jj = 1
For j = 1 To (Val(Text1.Text) - 1)
' Controlla il n° di oggetti clonati:
If jj = (Val(Text1.Text)) Then Exit Sub
' Inserisce il n° di controlli Shape indicato in Text1:
Load Shp(Shp.UBound + 1)
' sposta il nuovo Shape sotto il precedente:
Shp(Shp.UBound).Move Shp((Shp.UBound - 1)).Left, Shp((Shp.UBound - 1)).Top + (Shp((Shp.UBound - 1)).Height)
' Lo rendo visibile:
Shp((Shp.UBound)).Visible = True
jj = jj + 1
Next j
End Sub