Gary tiene un libro de trabajo de solo lectura al que pueden acceder varios usuarios. Pueden modificar celdas pero no guardar su trabajo. Al salir del libro de trabajo, Gary quiere que Excel simplemente se cierre sin informar al usuario que es de solo lectura y sin darle la opción de guardar una copia.

Esto se logra mejor mediante el uso de una macro para modificar el indicador Guardado en el libro de trabajo, justo antes de cerrar. Esta bandera indica, internamente, si un libro debe guardarse o no. Si el indicador es Falso, Excel sabe que el libro de trabajo no se ha guardado (los cambios se han realizado sin guardar). Si su macro establece el indicador en Verdadero, Excel se cerrará directamente porque cree que se han guardado todos los cambios.

Así es como debería verse la macro, en su forma más simple:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ThisWorkbook.ReadOnly Then     ThisWorkbook.Saved = True   End If End Sub

La macro debe agregarse al objeto ThisWorkbook en el Editor de VBA.

De esa forma, se ejecuta automáticamente justo antes de que se cierre el libro. El indicador se establece en Verdadero y, cuando finaliza la macro, Excel continúa con sus procedimientos de cierre normales. Dado que Excel piensa que no hay cambios sin guardar, el usuario no ve ningún mensaje y el libro se cierra.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (10349) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.