martes, 10 de julio de 2018

Cómo cerrar Excel desde una macro


Hay ocasiones en las que necesitamos cerrar Excel con una macro, ya sea como consecuencia de pulsar el botón de un formulario, o porque has creado una macro que realiza algún procedimiento desatendido y necesitas dejar cerrado Excel después de la ejecución.

El método Application.Quit

La instrucción VBA que nos permitirá cerrar Excel es el método Quit del objeto Application. Para probar esta instrucción puedes insertar un botón ActiveX en la hoja y hacer doble clic para insertar el siguiente código:


Esta instrucción será suficiente para cerrar Excel automáticamente siempre y cuando no hayan existido cambios en el archivo de lo contrario Excel mostrará una notificación preguntando si deseamos guardar los cambios.

Macro para cerrar Excel sin notificaciones

Si no te interesan los cambios realizados al libro y solamente deseas cerrar Excel desde una macro, entonces puedes ignorar las notificaciones utilizando la propiedad DisplayAlerts de la siguiente manera:


Este método es útil cuando la macro manipula información de las hojas de Excel pero no nos interesa guardar las modificaciones realizadas, tal vez porque el resultado final se guarda en un archivo de texto o porque simplemente se imprime el resultado.

Guardar el libro activo y cerrar Excel

Si por el contrario, si deseas guardar los cambios hechos al libro antes de cerrar Excel, entonces puedes utilizar la siguiente instrucción:

Al utilizar el método Save del objeto ActiveWorkbook guardaremos cualquier cambio en el libro activo y posteriormente cerraremos Excel.

Guardar los libros abiertos y cerrar Excel

El código de la sección anterior solamente considera guardar los cambios del libro activo, pero hay ocasiones en las que se han abierto varios libros y aun así necesitamos crear una macro para cerrar Excel. Una alternativa es guardar los cambios de todos los libros abiertos con el siguiente código:


Si se han creado nuevos libros de Excel antes de ejecutar la macro y nunca han sido guardados previamente, entonces la macro los guardará de manera predeterminada en la carpeta Documentos.

Espero que les sirva.

Ing. Enrique Neciosup Morales

P.D: Tomado de la página https://exceltotal.com/como-cerrar-excel-desde-una-macro/