¿cómo cerrar un libro de excel usando vba?

Para cerrar un archivo de Excel, debe utilizar el método «Cerrar». Con este método, puede especificar si desea guardar los cambios o no. Y, si desea guardar y cerrar un archivo que aún no está guardado, puede especificar la ruta donde desea guardarlo antes de cerrarlo.

Aquí está la sintaxis del método close.

 Workbook.Close (SaveChanges, FileName, RouteWorkbook)
cerrar un libro con vba

Pasos para cerrar un libro de trabajo

  1. Especifique el libro que desea cerrar.
  2. Utilice el método de cierre con este libro de trabajo.
  3. En el método del código, indique si desea guardar el archivo o no.
  4. Al final mencione la ruta donde desea guardar el archivo antes de cerrarlo.

En este tutorial, veremos diferentes formas de cerrar un libro en Excel usando VBA.

Enlaces útiles: Ejecutar una macroGrabador de macrosEditor de Visual BasicManual de macros personales

Cerrar un libro sin guardar

Si desea guardar el libro activo sin guardarlo, debe usar un código como este.

 ActiveWorkbook.Close SaveChanges:=False

En este código, especifiqué «Falso» para el argumento «Guardar cambios». Por lo tanto, VBA ignorará si hay cambios en el libro que no se guardan. Y si desea cerrar un libro de trabajo específico, puede usar el nombre de ese libro de trabajo. Al igual que el siguiente código.

 Workbooks("book1").Close SaveChanges:=False

Si tiene datos en el libro e ignora el argumento «Guardar cambios», Excel mostrará un cuadro de diálogo para confirmar si desea guardar el libro o no. El punto es este: es mejor especificar el argumento «SaveChanges» incluso si es opcional.

Cerrar un libro de trabajo después de guardarlo

Como vio, hay un argumento en el método CLOSE para especificar la ubicación de la ruta. Supongamos que desea guardar el «Libro6» en la carpeta del escritorio. Aquí está el código que necesitas usar.

 Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx"

Este código guardará el libro de trabajo «Libro6» en la carpeta guardada en mi escritorio con el nombre «myFILE.xlsx». Pero aquí hay una cosa de la que debes ocuparte: si ya tienes un libro con el mismo nombre, reemplazará ese archivo por el nuevo.

No te preocupes, hay una solución que puedes utilizar. El siguiente código verifica si hay un archivo con el nombre que desea usar

 Sub vba_close_workbook() Dim wbCheck As String wbCheck = Dir("C:UsersDellDesktopmyFoldermyFile.xlsx") If wbCheck = "" Then Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx" Else MsgBox "Error! Name already used." End If End Sub

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *