Ejecutar Macro de un Libro de Excel Cerrado. No me cierra el libro.

He visto esta respuesta y me iría muy bien para la aplicación que estoy desarrollando, ya que, si tuviese que cambiar el código, no tendría que hacerlo en todos los libros abiertos (cada usuario tendrá el suyo, y no estarán compartidos) sino solo en el principal. El problema es que, si bien me abre el libro que deseo y ejecuta la macro, después no lo cierra, dejándome los dos libros abiertos.

El libro del que deseo hacer correr la macro se llama "control horario mensual4" y el libro que debe permanecer abierto (el que usaría cada uno de mis compañeros) se llama "pruebamacrootrolibro" y el código utilizado está como auto_open para ejecutarse cuando se abre el libro y es el siguiente:

Sub auto_open()
Dim archivo As String
archivo = "C:\ users\ jesus\ desktop\ arreglocontrol4\ Control Horario Mensual4.xlsm"
Workbooks.Open Filename:= archivo
Application.Goto Workbooks("pruebamacrootrolibro.xlsm"). Sheets("calendario").Cells(1, 1)
'Sheets("pruebamacrootrolibro.xlsm!calendario").Select
Application.Run "'Control Horario Mensual4.xlsm'!auto_open"
Workbooks("C:\ users\ jesus\ desktop\ arreglocontrol4\ Control Horario Mensual4.xlsm"). Close savechanges:=False

End Sub

Pero, como digo, la última línea de código no se ejecuta. He probado poniendo

Workbooks (archivo). Close savechanges:= False

y también:

Workbooks ("Control Horario Mensual4.xlsm"). Close savechanges:= False

Pero sigue sin funcionar. ¿Alguien podría indicarme qué hago mal?

1 Respuesta

Respuesta
1

¿No se si me he hecho un lio pero creo que con un auto_open abres un libro con auto_open?

La última línea de la macro del libro macrootrolibro tiene que ser la apertura del libro Control horario mensual4 y la última línea de la macro de control horario mensual4 tiene que ser Thisworkbook.Close Savechanges:= False

Más que nada es que no pueden ejecutarse dos macros simultáneamente, con lo cual en cuanto abras un libro con una auto_open, las líneas posteriores no se ejecutarán

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas