Cómo cerrar automáticamente varios libros

Buenas Expertos,
Mi Problema es el siguiente:
Tengo una serie de libros, cada uno con su respectiva macro. Todos ellos utilizan el mismo dato de entrada para ejecutar las consultas a través de las macros, es decir, todos los libros utilizan el mismo dato de entrada para activar sus macros.
Mi objetivo es crear un libro desde el cual, introduciendo el dato de entrada (el mismo para todos los librios), consiga ejecutar las macros de todos los libros. Esto lo he conseguido ya. El problema es que todos los libros (13, concretamente) se me quedan abiertos una vez se ejecuta. Y lo que yo pretendo es que el único libro que se quede abierto sea el del ejecutable, es decir, el libro desde el cual introduzco el dato para que se ejecuten el resto de libros. O sea, que se cierren automáticamente todos los libros menos uno.
¿Cómo puedo hacerlo? Hay que tener en cuenta que todos los libros están relacionados entre sí, es decir: desde el ejecutable se parte para activar el primer libro, desde el segundo libro se activa el tercero, y así hasta llegar al último, todo ello automáticamente. Digamos que es una cadena, no se si esto influye en lo que yo estoy buscando.
Saludos y muchas gracias.

1 Respuesta

Respuesta
1
El tema a resolver es cuándo querrás cerrar los libros.
Puede ser que como última instrucción de cada macro, agregues la opción de cerrar:
Activeworkbook.Close False   'o True depende de si debe guardar o no
Otra opción es que agregues en alguna macro principal (que es la que llama y abre el resto de los libros), la opción de guardarlos a todos juntos.
Sería algo como esto, ajustando el nbre de tu libro principal:
Sub guardatodos()
'x Elsamatilde
For Each wb In Workbooks
    If wb.Name <> "PRINCIPAL.xls" Then wb.Close False  'o True
Next wb
End Sub
Sdos
Elsa
PD) Todos mis manuales al 50% durante dbre... no te los pierdas !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas