Macro para guardar versiones de un archivo Excel

Macro para guardar versiones de un archivo Excel

Definitivamente guardar versiones de un archivo Excel es un proceso indispensable. Hay momentos en el que un error te puede hacer perder todo.

Imagina que estás trabajando en un nuevo archivo Excel crítico para tu empresa. Con cada nuevo cambio que haces corres el riesgo de dañar definitivamente el archivo, provocando errores, o destruyendo datos valiosos. Para protegerte lo mejor es que generes con cada cambio importante una nueva versión de tu archivo. Así ante un colapso siempre podrás volver a la última versión estable.

Guardar versiones de un archivo Excel de forma manual es un proceso simple pero frustrante. Cuando lo haces una o dos veces no te representa mayor inconveniente. Pero si estás generando una cantidad de cambios significativos y frecuentes la historia cambia. Con frecuencia puedes olvidar guardar, o incluso sobrescribir los cambios. Debes definir y empezar a seguir un método que te permita recuperar con facilidad tus archivos. Quizás lo más sencillo es emplear una secuencia de números, a modo de ArchivoV1.xlsm, ArchivoV2.xlsm, ArchivoV3.xlsm, etc.

guardar versiones de un archivo Excel

Pero ¿Por qué guardar versiones de un archivo Excel de forma manual si puedes hacerlo a través de una macro?

Macro para guardar versiones de un archivo Excel

Una macro te permitirá ahorrar tiempo. Podrás ejecutar esta aburrida tarea de forma automática mientras mantienes siempre a salvo la última versión gracias a un proceso fácil y sin errores.

El código a utilizar es simple:

Sub GuardarVersion()
Dim fileName As String, index As Long
If InStr(ActiveWorkbook.Name, "_v") = 0 Then
fileName = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & "_v1.xlsm"
ActiveWorkbook.SaveAs (fileName)
Else
index = CInt(Split(Right(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - InStr(ActiveWorkbook.Name, "_v") - 1), ".")(0))
index = index + 1
fileName = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, "_v") - 1) & "_v" & index & ".xlsm"
End If
ActiveWorkbook.SaveAs (fileName)
End Sub

Un consejo: Si configuras que este código se ejecute con un atajo de teclado será mucho mejor.  Podrás generar una nueva versión de tu archivo Excel presionando un par de teclas. Para configurar tu atajo solo ve a la ficha Desarrollador, sección Códigos, botón Macros, en la ventana Macro, haz clic sobre el botón Opciones…

enter image description here

Ahora tan solo resta que en la nueva ventana Opciones de la macro definas la tecla de método abreviado de tu preferencia, como combinación de la tecla Ctrl más otra tecla que selecciones. En mi caso suelo usar Ctrl+1. Así creo una nueva versión de mi archivo Excel con tan solo presionar un par de teclas.

Otra opción que puedes considerar es programar que esta macro se ejecute automáticamente a una hora determinada.

¿Sencillo, verdad? Que esperas para implementarlo. Si te resulta de utilidad no dejes compartir este artículo con todos y riega la voz en tus redes sociales favoritas. Nos ayudas a crecer y ayudas a otros a trabajar con mayor más eficiencia.

Here is a collection of places you can buy bitcoin online right now.

4 Comentarios

  1. Salomón Grisales 18/08/2015
  2. SILVIA 02/03/2016
  3. Blas 25/07/2016

Deja un comentario:

¿Te vas sin unirte a nuestro Boletín Semanal?

Recibe gratis en tu correo cada semana nuevos recursos para hacer cosas asombrosas en Excel

Odiamos el SPAM tanto como tú, tus datos están seguros con nosotros.