Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Macro para respaldar un libro activo

| 3 comentarios

El código que se presenta a continuación nos permite grabar un libro activo de Excel (previamente guardado) con el mismo nombre, pero anteponiendo a él la fecha del día en que se ejecuta la macro. Es decir, el nuevo libro queda guardado con el formato "Fecha de hoy - Nombre original".

Esta macro resulta muy útil en ocasiones en las que en el trabajo, universidad o casa requerimos hacer revisiones constantes a un mismo archivo o plantilla, pero guardando un registro de qué modificación se hizo cada vez (respaldo o "backup").

Para ilustrar el tema, se propone en el archivo "Macro para respaldar un libro activo" un ejemplo en versión Excel 2013 que contiene datos de ventas de un día cualquiera, pero que constantemente se está actualizando:

Macro para respaldar un libro activo

Al abrir el archivo, efectivamente se podrán ver 3 bases de datos en las hojas BD1,BD2 y BD3 que contienen data de un día determinado:

1

(Para mayor visualización de la imagen, hacer click en la misma)

El archivo contiene el siguiente código, que permitirá guardar el archivo añadiendo la fecha del día en que se ejecuta:

2

(Para mayor visualización de la imagen, hacer click en la misma)

La macro inicia con un MsgBox que pregunta al usuario si quiere guardar el archivo. Si la respuesta es NO, el código finaliza inmediatamente.  Si la respuesta es SÍ, entonces continúa la ejecución con el comando "ThisWorkbook.SaveCopyAs" el cual indica que el archivo se guardará.

Para que el comando funcione correctamente deberá tener la ruta y el nombre deseado, lo cual se otorga con otro comando llamado "Filename". Este se compone de 3 secciones, las cuales se concatenan mediante dos ampersand (&):

1. Ruta donde se guardará el archivo: se indica con la línea "This Workbook.Path", la cual especifica que el nuevo archivo se guardará en la misma ruta que el original.

2. Fecha de hoy: indicado por la línea "Format(Date,"dd-mm-yy")", que además otorga el formato día-mes-año.

3. El nombre original: indicado por la línea "ThisWorkbook.Name", que indica que se usará el nombre original.

La macro se puede correr con el botón en la hoja "Grabar":

3

(Para mayor visualización de la imagen, hacer click en la misma)

Finalmente, se obtendrá el nuevo archivo tal y como se muestra en la siguiente imágen:

4

(Para mayor visualización de la imagen, hacer click en la misma)

 

Por: Diego Velásquez Z.

 

3 comentarios

  1. Interesante

  2. esta excelente esta macro, solo una pregunta, se puede cambiar la ruta y el nombre? si es asi cual seria la modificacion ?

    mil gracias

  3. Muy interesante esta macro, pero pregunto cómo quedaría si lo que requiero es que se genere el respaldo al cerrar el libro,?? creando así un backup gracias ...

Deja una respuesta

Los campos requeridos estan marcados con *.