Me parecio un desafio, y me puse a inventar algo.....fijate si te va! al hacer click en command button 1 este cód te muestra el form2 directamente en modal ya que la pro. Tag por defecto es vbnullstring (""). Luego si haces un click en el From2 pasa a no modal, otro click y se hace modal... La cagada de todo esto que al usar Unload Form2 se te van a hacer pedaso los datos que tengas en los TextBox, si es que vas a tener. Probe reemplazando Unload Form2 x From2.Hide, no falla, pero no anda de la misma forma....fijate si te sirve, vienvenido sea...
Option Explicit
'Mete esto en el Form1
Private Sub Command1_Click()
If Form2.Tag = "" Then
Unload Form2
Form2.Tag = "modal"
Form2.Show 1
Form2.Tag = ""
ElseIf Form2.Tag = "modal" Then
Form2.Tag = ""
Form2.Show
End If
End Sub
'--------------------------------
Y esto va en el otro From. (Form2 x eje.)
Lo que podes cambiar es el evento Form_Click(), no se, se me ocurre q quizas quiera que suceda este cambio fantasma al darle enter en un combo, que se yo para que queres esto...MMMmmm?
Option Explicit
Private Sub Form_Click()
If Form2.Tag = "modal" Then 'Pasa a no modal
Unload Form2
Form2.Show
ElseIf Form2.Tag = "" Then
Unload Form2
Form2.Tag = "modal"
Form2.Show 1 'Lo vuelve modal
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Form2.Tag = "modal" Then
Form2.Tag = ""
ElseIf Form2.Tag = "" Then
Form2.Tag = "modal"
End If
End Sub