Menú en un Form

Hola Elsa:
Tengo varios libros independientes que contienen macros que se autoejecutan al abrirlos, cargando diferentes formularios (Forms) con sus opciones correspondientes.
He creado otro libro con un formulario(Form) que contiene botones para abrir los libros anteriores, una especie de menú.
Efectivamente puedo abrir esos libros, y se autoejecutan sus macros, pero lo que no puedo conseguir es descargar ese formulario menú (cerrando el libro que lo contiene) y que al cerrar cualquiera de los libros "opciones" me cargue otra vez ese menú.
¿Alguna sugerencia?
Muchas gracias por tu dedicación.
F.Burriel

1 respuesta

Respuesta
1
El tema es que cuando abrís un nuevo libro, al ejecutarse una rutina o abrirse un form, ya no podes cerrar el anterior, salvo que coloques una instrucción que inhabilite los eventos. Pero entonces necesitarás un botón en cada libro para ejecutar la rutina que ahora la tenés como Auto_Open.
Entonces mi sugerencia es que no utilices un form en el libro menú sino que utilices la hoja con botones como si fuese un form, entonces al cerrar los otros siempre estarás en esa hoja con opciones.
Si te molesta que el libro esté debajo podes minimizarlo antes de abrir el otro:
ActiveWindow.WindowState = xlMinimized
Workbooks.Open ThisWorkbook.Path & "\" & miLibro
Y en la rutina de apertura de los otros colocas esta:
ActiveWindow.WindowState = xlMaximized , lo mismo al cerrar estos libros :
Private Sub cmdUF11_Click() 'botón que cierra el form de los otros libros
Unload Me
ActiveWorkbook.Close False
ActiveWindow.WindowState = xlMaximized
End Sub
No se si te sirva pero es todo lo que puedo sugerir.
Saludos
Elsa
*** No te pierdas mi Manual con las 300 Macros explicadas en español. Descarga la Demo gratis desde:
http://es.geocities.com/lacibelesdepunilla/manual
Te pido mil perdones por no haber finalizado la pregunta hasta ahora. El motivo es que cambié hace un tiempo la cuenta de correo y lógicamente no me han comunicado tu respuesta.
La solución que me envías me parece acertada, no obstante he encontrado una solución bastante satisfactoria a base de abrir una nueva instancia de Excel (mediante Shell).
Vuelvo a insistir, perdoname.
Recibe un muy cordial saludo, y muchísimas gracias por tu inestimable colaboración.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas