Ver UserForm automáticamente

Muy buenas expertos,
Llevo tiempo intentando dar con la solución al problema que plantearé a continuación, y no hay forma.
Voy a intentar ser lo más explícito posible:
Tengo un archivo A (por ejemplo) con un formulario A que contiene un combobox donde he cargado bastantes archivos. Al seleccionar el archivo B (por ejemplo) del combobox y presionando botón "ABRIR"(commandbutton) se abre el archivo B. Hasta aquí bien.
El archivo B que abro, tiene un formulario B. Ahora viene la duda, si utilizo botón "SALIR" en el formulario B para cerrar el archivo B, no hay forma que aparezca el formulario A en el archivo A, que contiene el formulario A que me permite abrir todos los archivos que he cargado en el combobox.
Añadir que cuando voy a cerrar el archivo B si utilizo la "X" (extremo superior derecha), al "recuperar" el archivo A, luego aparece el formulario A !?!.
La idea que tengo es poder utilizar el botón "SALIR" del formulario B, y no a través de la "X".
He probado por activa y por pasiva y no hay forma que se muestre en el archivo A el formulario A, al cerrar el archivo B con el botón "SALIR" del formulario B, que previamente he abierto.
Sé, que se podría crear un botón con código UserForm1. Show, en el archivo A, para hacer que se mostrara el formulario A, ¿pero es posible que se muestre automáticamente?
Sin más, gracias por la ayuda y tiempo.
Saludos... Y buena entrada de año!

1 respuesta

Respuesta
1
En el evento
Private Sub Workbook_Activate()
UserForm1.Show
End Sub
De ThisWorkBook
Hola Jerryeagle y, ante todo, gracias por responder.
He probado la solución que propones y no funciona, no se carga/muestra el formulario.., aunque, decirte, que ya la había probado, y igualmente sin éxito...¿?
¿Hay alguna otra alternativa?, de no ser así, finalizaría la consulta...
Muchas gracias por tu ayuda y tiempo
Saludos!
Con esto si funciona, ya lo probé:
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
UserForm1.Show
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)UserForm1.ShowEnd Sub
Hola Jerryeagle, he probado la última solución y tampoco ha habido éxito, no consigo que se muestre el formulario (userform)
Perdona la insistencia, ¿pero quedará una "última"posibilidad?...
Gracias y saludos!
¿QUÉ raro, es que yo lo probé y si funciono, aunque solo lo probé al cambiar de ventana, no al cerrar otro libro, solo c m ocurre que al abrir otro archivo, cierres el archivo del formulario A, y en el evento BeforeClose de los otros Archivos, abras de nuevo el del Formulario A y que en el evento Open del archivo del Formulario A, lo muestres el formulario A (:P que dije?)
No se si te hice bolas con mi explicación :D
Hola Jerryeagle, un "último intento"... quizás no estoy siendo muy explícito..
Para abrir el archivo B, desde el formulario A (del archivo A), en el botón ABRIR tengo el siguiente código:
Private Sub CommandButton_Click()
If ComboBox1.Value = "RE-VS01.01_Llistat control registres" Then
Exit Sub
Else
ruta = "E:\ISO14001\REGISTRES\"
Workbooks.Open Filename:=ruta & ComboBox1.Value & ".xls"
UserForm1.Hide
Windows(ComboBox1.Value).Activate
Exit Sub
End If
Para cerrar el archivo B (y volver al archivo A) desde el formulario, en el botón CERRAR tengo el siguiente código:
Private Sub CommandButton_Click()
ActiveWorkbook.Close (1)
End Sub
Añadir también que en el objeto ThisWorkbook (del archivo A) tengo el siguiente código:
Private Sub Workbook_Activate()
UserForm1.Show
End Sub
Utilizando las instrucciones anteriores no consigo que se muestre automáticamente el UserForm1 en el archivo A.
Perdona mi insistencia :), pero quizás hasta ahora no había dado toda la información,..,
Una vez más, gracias por tu ayuda y tiempo...
Saludos!
Private Sub CommandButton_Click() 
If ComboBox1.Value = "RE-VS01.01_Llistat control registres" Then 
Exit Sub 
Else 
ruta = "E:\ISO14001\REGISTRES\" 
Workbooks.Open Filename:=ruta & ComboBox1.Value & ".xls" 
UserForm1.Hide 
Windows(ComboBox1.Value).Activate 
Exit Sub 
End If 
Para cerrar el archivo B (y volver al archivo A) desde el formulario, en el botón CERRAR tengo el siguiente código:
Private Sub CommandButton_Click() 
ActiveWorkbook.Close (1) 
End Sub 
'Añadir también que en el objeto ThisWorkbook (del archivo A) tengo el siguiente código: 
aqui pon esto y si funciona, ya lo probe
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
UserForm1.Show
End Sub
Hola Jerryeagle, me doy por "vencido",..., no consigo que se muestre el formulario!...
Ya retomaré esta consulta más adelante,... la verdad que estoy bastante "saturado" y tengo en mente otra consulta, por este motivo finalizo la consulta..
De todas formas muchas gracias por tu "paciencia"...
Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas