Cerrar dos libros guardando cambios solo en uno y salir de la aplicación

Una vez más, necesito vuestra ayuda. Yo tenía un libro llamado "Control horario" en el que, para salir, le había colocado una imagen a la que le había asignado una macro ("sal"). Esta macro abría un formulario ("cierra") con el siguiente código colocado en el evento "Initialize":

Private Sub UserForm_Initialize()

Beep

Application. OnTime Now + TimeValue("00:00:04"), "cerrar"

End Sub

Como veis, llamo a una nueva macro "cerrar" con el siguiente código:

Sub cerrar()

Unload cierra

Application.ScreenUpdating = False

Application.DisplayAlerts = False

Sheets("mes").Select

If Sheets("mes").Range("título").Value = "" Then

    Application.DisplayAlerts = True

    Sheets("calendario").Select

    Application.Quit

    Application.EnableEvents = False

    ThisWorkbook.Close savechanges:=1

    Application.EnableEvents = True

Else

    Application.EnableEvents = False

    Range("controlmes").ClearContents

    Application.EnableEvents = True

    Range("Título") = ""

    Range("o42").ClearContents

    Range("p42").ClearContents

    Sheets("calendario").Select

    Application.DisplayAlerts = True

    Application.Quit

    Application.EnableEvents = False

    ThisWorkbook.Close savechanges:=1

    Application.EnableEvents = True

End If

End sub

Esto funcionaba perfectamente, pero, como quiera que este libro lo usarán varios compañeros y NO puede estar compartido, sino que cada compañero tendrá un libro en su ordenador para guardar SUS horarios de entrada y salida, pensé en crear otro libro con todo el código para, si tuviese que modificarlo, hacerlo solo en ese libro ("códigolibro").

Para ello, cuando abro el formulario "control horario" tengo un código auto_open que es el siguiente:

Sub auto_open

Workbooks. Open ThisWorkbook. Path & "\Códigolibro.xlsm" 'así abre el libro esté en la unidad que esté.

Application.Run "'códigolibro.xlsm'!abrir"

End sub

De este modo abro el libro de código y permanece abierto (en la barra de tareas), de modo que en el resto de macros o códigos solo debo poner Application. Run "'códigolibro.xlsm'!nombre de la macro" . El problema se plantea al salir: He creado una macro en el libro "códigolibro" llamada "Salir" y le he puesto el código que antes tenía en la macro "Sal" del libro "Control horario", cambiando el de ésta última por Application. Run "'códigolibro.xlsm'!Salir" y... Sólo funciona a medias... Me cierra un libro, pero me pregunta si deseo guardar los datos del otro y además, no sale de la aplicación.

Lo que yo quiero es que:

1º Me cierre el libro "Control horario" tal y como lo hacía antes (borrando los contenidos que le marcaba y guardando cambios SIN PREGUNTAR NADA.

2º Cierre el libro "códigolibro" SIN GUARDAR NINGÚN CAMBIO (por si acaso) Y SIN PREGUNTAR.

3º Salga de la aplicación.

¿A alguien se le ocurre cómo podría hacerlo?

Añade tu respuesta

Haz clic para o