UNLOAD ME cierra ambos formularios

Les comento que tengo un formulario (de ahora en mas fomr1) con un boton que abre otro formulario (de ahora en mas fomr2), al hacer clic en boton utilizo lo siguiente LOAD FORM2 instrucciones FORM2. SHOW, el problema viene que al presionar el botnon SALIR del FORM2, cierra el FORM2 pero tambien CIERRA EL FORM1 y mi idea es que solo se cierre el FORM2...

Me pasa lo mismo al presionar la X del FORM2, se cierra FOMR2 y tambien cierra FORM1

1 respuesta

Respuesta
2

Si se trata de formularios (Userform) en Excel, quizás estés ocultando el primero al momento de llamar al segundo.

Fijate si antes de la llamada tenés una instrucción como éstas: Me. Hide o FORM1. Hide. Algo como esto:

Private Sub CommandButton1_Click()     'botón en el FORM1
'....   llama al 2do form
Me.Hide
FORM2.Show
End Sub

Si se encuentra, tenés 2 opciones: 

- Dejarla para que te oculte el primer Form y en ese caso volver a mostrarlo desde el 2do Form antes de cerrarlo. Algo como esto:

Private Sub CommandButton1_Click()      'botón en el FORM2
'....... cierra el 2do Form y vuelve a mostrar el primero
Unload Me
FORM1.Show
End Sub

- O quitar la instrucción Hide del primer Form y nada más. Al cerrar el Form2 se seguirá viendo el primero.

Hola elsa.. gracias por tu pronta respuesta... te comento que NO tengo la instrucción HIDE y lo raro es que lo hace solo con formularios en particular, tengo otros formularios con la instrucción unload me y no hace lo que te mencione en el problema...

Y cree otro formulario que solo tiene la instrucción unload me y tampoco hace lo que te mencione en el problema...

¿Alguna otra indicaion que pueda hacer..?

Revisa la propiedad ShowModal del Form1... quizás lo tengas en False.

Pasala a True para que no se cierre.

Sdos!

En el Editor, menú VER, Propiedades:

Sdos!

Bien lo pruebo y te digo... muy amable....

Bien es la... probé lo que me inticaste, se soluciono... aunque tuve que poner TODOS los forms en SHOWMODAL= FALSE ya que sino, me da error 401 "no se puede mostrar un formulario NO modal cuando se muestra un formulario modal",¿podrás indicarmar o explicarme un poco mejor que función cumple la opción SHOWMODAL...?

Gracias

El hecho de pasar el FORM1 a True no te dará nunca el error 401, salvo que ya hayas tenido el resto de los FORMs en False. El mensaje del error es claro, no se puede mostrar uno en False (NO modal) desde otro en True (modal).

De haber yo sabido que el resto los tenías ya en False no te hubiese dicho que lo pases a True sin aclararte esta posibilidad de que la instrucción Show te daría ese error ;)

Pero no comentaste nada al inicio de la consulta de que le habías cambiado la propiedad ShowModal a tus forms, dejándolos en False cuando lo predeterminado es True.
Entonces ahora te consulto yo: ¿porqué los dejas como False? ¿Los necesitas así?

Aclaración: ¿Cuándo los dejamos en False o No modal? Cuando necesitamos acceder a la hoja, a otras hojas, a otro libro u otra aplicación. Si este no es tu caso, no modifiques la propiedad ShowModal al crear userforms... dejalos con la predeterminada (True) que es lo común y correcto.

Y si este sí es tu caso, comentame y buscamos alguna otra alternativa.

Sdos!

En la imagen dejo las 4 situaciones. Por el problema que mencionaste al inicio de tu consulta, y aclarando que no tenías instrucciones del tipo Hide, la situación se corresponde con el primer caso. Por eso supuse que el Form2 estaba en True y te recomendé que así también lo dejes al Form1.

Te estoy enviando el libro de ejemplo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas