Hola, en cierta ocasión analicé un sistema para hacerlo que aunque al final no llegué a utilizarlo creo recordar que me funcionaba.
Te digo como era por si quieres probarlo o intentarlo con este:
En un módulo, para ser accesible desde todos los formularios
Código vb:
Ver originalDim miPila As New Collection
Public Sub mpQuienLlama(Formulario As Form)
' Añade a la pila el nombre del formulario que llama
miPila.Add Formulario, Str$(miPila.Count)
End Sub
Public Function mpQuienLlamo(Optional Remove As Boolean = True) As Form
' Devuelve el nombre del último formulario que llamó
' Se puede pedir el nombre, sin eliminar de la coleccion. Para Maximizar
Set mpQuienLlamo = miPila.Item(Str$(miPila.Count - 1))
If Remove Then miPila.Remove (Str$(miPila.Count - 1))
End Function
Saludos