Ovvio che non funziona, come ho già detto:
La collection Forms elenca SOLO le finestre APERTE.
In VB6, non c'è modo di riferirsi ad oggetti usando delle stringhe.
Se vuoi parametrizzare l'apertura dei form puoi fare in due modi:
1) Passi NomeTab come parametro alla tua funzione, poi usi i classici IF/THEN oppure SELECT/CASE/END SELECT testando il valore della variabile NomeTab confrontandolo
codice:
IF NomeTab = "Tab1" Then
etc...
In questo modo, però, quando aggiungi un nuovo form che vuoi gestire qui, devi necessariamente aggiungere la condizione.
2) usi un array di form
codice:
' dichiarazioni
Dim frms(3) As Form
' MDIForm1_Load()
Set frms(0) = frmCasa
Set frms(1) = frmAuto
Set frms(2) = frmLavoro
'In seguito puoi aprire il form da un array di menu:
Private Sub mnuApriForm_Click(Index As Integer)
frms(Index).Show
End Sub
In questo modo, invece, quando aggiungi un nuovo form da gestire, basta solo aumentare la dimensione dell'array, ed accodare l'assegnazione del nuovo form all'array:
codice:
Dim frms(4) as Form
Set frms(0) = frmCasa
Set frms(1) = frmAuto
Set frms(2) = frmLavoro
Set frms(3) = frmNuova