Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.
Resumen
En Microsoft Excel, puede crear una macro de Microsoft Visual Basic para aplicaciones (VBA) que suprima el aviso para guardar los cambios cuando se cierra un libro. Esto puede hacerse especificando el estado de la propiedad guardada del libro o suprimiendo todas las alertas del libro.
Más información
NOTA: Microsoft proporciona ejemplos de programación para la ilustración únicamente, sin ninguna garantía ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad o idoneidad para un fin determinado. En este artículo se da por supuesto que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se usan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de un procedimiento en particular. Sin embargo, no modificarán estos ejemplos para proporcionar una funcionalidad agregada ni crear procedimientos que cumplan con sus necesidades específicas.
Para prepararse para implementar cualquiera de los ejemplos siguientes, realice estos pasos en primer lugar:
-
Inicie Excel y abra un nuevo libro.
-
Presione ALT + F11 para iniciar el editor de Visual Basic.
-
En el menú Insertar , haga clic en módulo.
-
Escriba el código de macro de ejemplo en la hoja de módulo.
-
Presione ALT + F11 para volver a Excel.
-
En Microsoft Office Excel 2003 y en versiones anteriores de Excel, elija macro en el menú herramientas y, a continuación, haga clic en macros.
En Microsoft Office Excel 2007, haga clic en macros en el grupo código de la pestaña programador .
Si la pestaña programador no está disponible, puede hacer lo siguiente
: ninguna. Haga clic en el botón Microsoft Office y, a continuación, en Opciones de Excel.
letra. En la categoría popular , en opciones principales para trabajar con Excel, haga clic para seleccionar el
programa Pestaña programador en la cinta de opciones y, a continuación, haga clic en Aceptar. -
Seleccione la macro que desee y, a continuación, haga clic en Ejecutar.
La propiedad Saved devuelve el valor false si se han realizado cambios en un libro desde la última vez que se guardó.
Puede usar el nombre de subrutina reservado Auto_Close para especificar una macro que debe ejecutarse siempre que se cierre un libro. Al hacerlo, puede controlar cómo se administra el documento cuando el usuario cierra los documentos en Excel.
Ejemplo 1: cerrar el libro sin guardar los cambios
Para forzar el cierre de un libro sin guardar los cambios, escriba el código siguiente en un módulo Visual Basic de ese libro:
Sub Auto_Close ()
ThisWorkbook. Saved = true
End Sub
Cuando la propiedad Saved se establece en true, Excel responde como si el libro ya se hubiera guardado y no se han realizado cambios desde la última vez que se guardó.
La propiedad DisplayAlerts del programa se puede usar para el mismo propósito. Por ejemplo, la siguiente macro desactiva la opción DisplayAlerts , cierra el libro activo sin guardar los cambios y, a continuación, vuelve a activar DisplayAlerts .
Sub CloseBook ()
Application. DisplayAlerts = false
ActiveWorkbook. Close
Application. DisplayAlerts = true
End Sub
También puede usar el argumento SaveChanges del método Close .
La macro siguiente cierra el libro sin guardar los cambios:
Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Ejemplo 2: cerrar el libro y guardar los cambios
Para forzar que un libro guarde los cambios, escriba el código siguiente en un módulo Visual Basic de ese libro:
Sub Auto_Close ()
Si ThisWorkbook. Saved = false,
ThisWorkbook. Save End if
End Sub
Este subprocedimiento comprueba si la propiedad file Saved se ha establecido en false. Si es así, el libro se ha modificado desde la última vez que se guardó y esos cambios se guardan.