Cerrar un libro de trabajo

Al utilizar VBA, puede cerrar un libro de Excel específico.

En esta página, se explica cómo cerrar un libro de trabajo con VBA.

Método Close

Para cerrar un libro de trabajo en VBA, utilice el método Close del objeto Workbook.

Método_Close
ThisWorkbook.Close

Este código cierra el libro de trabajo que contiene la macro en ejecución.

Si no hay cambios sin guardar, se cierra de inmediato; si los hay, Excel mostrará un cuadro de diálogo preguntando si desea guardarlos.

ThisWorkbook se refiere al libro que contiene la macro y ActiveWorkbook al libro activo en ese momento. Utilice el que corresponda al libro que desea cerrar.

Evitar la confirmación de guardado

Para cerrar el libro de trabajo sin la confirmación de guardado, puede pasar un argumento al método Close.

cerrar_sin_confirmación_de_guardado
Sub CloseWithoutPrompt()
    ' Cerrar sin guardar el libro de trabajo activo
    ActiveWorkbook.Close SaveChanges:=False
End Sub

En este código, se especifica False para el argumento SaveChanges. Esto cierra el libro de trabajo sin guardar los cambios no guardados.

Para obtener más información sobre cómo cerrar un libro de trabajo sin guardar, consulte la siguiente página.

Cerrar un libro sin guardar
Para cerrar un libro de Excel sin guardar en VBA, pase SaveChanges:=False al método Close. Incluye ejemplos para el libr

Guardar cambios y cerrar

Por otro lado, si desea guardar los cambios antes de cerrar el libro de trabajo, especifique True para el argumento SaveChanges.

Guardar_cambios_y_cerrar
Sub CloseAndSave()
    ' Guardar y cerrar el libro de trabajo activo
    ActiveWorkbook.Close SaveChanges:=True
End Sub

Este código cerrará el libro de trabajo después de guardar los cambios.

Cerrar un libro de trabajo específico

Si desea cerrar un libro de trabajo específico, llame al método Close en el objeto de ese libro de trabajo.

Cerrar_un_libro_de_trabajo_específico
Sub CloseSpecificWorkbook()
    ' Almacenar un libro de trabajo específico en una variable
    Dim wb As Workbook
    Set wb = Workbooks("Example.xlsx")

    ' Cerrar un libro de trabajo específico
    wb.Close SaveChanges:=False
End Sub

En este código, se cierra un libro de trabajo llamado “Example.xlsx”. Este método se puede utilizar para cerrar libros de trabajo que no están activos.

Argumentos del método Close

El método Close admite los siguientes argumentos opcionales.

ArgumentoDescripción
SaveChangesTrue guarda y cierra, False cierra sin guardar. Si se omite, se muestra el cuadro de confirmación
FilenameNombre de archivo que se usa al guardar los cambios
RouteWorkbookConfiguración de envío cuando el libro se circula

Resumen

Usando el método Close de VBA, se puede cerrar un libro de trabajo de Excel programáticamente.

Al usar los argumentos apropiados, es posible evitar la confirmación de guardado, guardar los cambios y cerrar, o apuntar a un libro de trabajo específico.

El uso del método Close permite ampliar el rango de libros de trabajo que se pueden manejar con VBA.

#VBA