Macro para guardar una copia de un libro de Excel

Vamos a continuar con la aplicación del objeto Workbook utilizando sus Métodos y en esta ocasión veremos cómo se puede programar una macro para activar la ventana Guardar como… mediante la cual podemos guardar una copia del libro actual indicando la ruta donde queremos dejar dicha copia, es decir, sin necesidad de abrir la ventana de opciones de Guardar Como. Para lograr esto, vamos a utilizar el Método SaveAs.

Cómo crear una copia de un libro de Excel.

Método SaveCopyAs: Con la aplicación de este método, lo que estamos indicando desde VBA es la opción de Guardar una copia del libro de Excel en la ruta donde se requiera. Al guardar una Copia, significa que seguiremos trabajando en el libro de trabajo original y solo estamos generando una copia del libro a manera de Backup.

Desde Excel abrimos el Editor VBA (Alt + F11), insertamos un Módulo (Clic derecho sobre el proyecto Excel, Insertar, Módulo:

Ingresamos el siguiente código:

Sub MetodoGuardarCopia()

ThisWorkbook.SaveCopyAs "C:\Copia de 2.2.3 Macro para Guardar copia.xlsm"

End Sub

Queda de la siguiente manera en el Módulo:

Veamos lo que significan cada una de las líneas:

  1. La primera línea Sub MetodoGuardarCopia(), indica el inicio de la macro.
  2. En la segunda línea estamos utilizando del Objeto Workbooks el Método SaveCopyAs el cual nos permite Guardar una copia del libro de Excel en la ruta que indicamos entre comillas.
  3. La última línea marca el fin (End) de la Macro o Subrutina (Sub).

Al ejecutar la macro, veremos cómo se guarda el libro; probemos asignando la macro a una autoforma con clic derecho Asignar macro:

En la ventana de asignación de macros seleccionamos la macro MetodoGuardarCopia, damos Aceptar y probemos dando clic en el botón para ver que efectivamente una copia en la ruta especificada.

Descargar archivo de trabajo.

Recomendados.

Compártalo en Facebook Compártalo en Twitter

Déjenos su opinión

3 Opiniones
  1. alfanje607 Dice:

    En verdad que doy mis mas expresivas Gracias por este mini codigo..

    He buscado durante días una forma de grabar un libro activo, SIN PERDER que siga estando en el Libro Original.

    Eso, aparentemente sencillo, (y ahora que lo veo aqui lo es), para el que no lo sabe: SaveCopyAs. Es un gran detalle.

    Habia visto SaveAs, GetSaveAsFilename, pero no SaveCopyAs.

    Asi que, muchas Gracias.

    Responder
  2. FioreTabuu Dice:

    Hay alguna forma de que no lo grabe agregandole al nombre del archivo “Copia de seguridad de …”

    Responder
    • Sauljs Dice:

      ActiveWorkbook.SaveCopyAs “C:\TEMP\XXXX.XLSX”
      Tienes que especificar el nombre en la macro, en este ejemplo en lugar de las XXXX asignas un nombre

      Responder
En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc., pero debe hacerlo con respeto, sin insultar y sin ofender a otros.

Información legal aplicable para Colombia.

Este sitio web utiliza cookies propias y de terceros para ofrecer un mejor servicio. Al seguir navegando acepta su uso.