Ci sono 1 paio di errori...

Ecco il nuovo codice:
codice:
Dim formsArray() As Object


Private Sub Command1_Click()
Dim i As Integer
'Inizializza il generatore di num casuali
Randomize
'Metto -1 perchè i vettori iniziano da 0
ReDim Preserve formsArray(CInt(nforms.Text) -1)

Load Form2

For i = 0 To CInt(nforms.Text)-1
'IMPORTANTE:
'la parola chiave new
'per creare un nuovo oggetto
    Set formsArray(i) = New Form2
'mette in una posizione casuale
    formsArray(i).Left = Int((Screen.Width - Form2.Width) * Rnd)
    formsArray(i).Top = Int((Screen.Height - Form2.Height) * Rnd)
Next

For i = 0 To CInt(nforms.Text)-1
    formsArray(i).Show
Next
End Sub