9 de septiembre de 2017

Como guardar automaticamente mi archivo [no es autoguardado para recuperación]



Dada la inquietud de uno de nuestros suscriptores, donde nos consulta "Hola quisiera saber si me pueden ayudar con un problema que tengo, necesito saber como guardar automaticamente mi planilla, con esto no me refiero a la opcion de autoguardado para recuperacion, yo necesito que el archivo se guarde cada cierto tiempo y que esos cambios sean reales y no que los haga como para recuperacion"



Lo que debemos realizar es crear una macro, donde nos ayudará a guardar el archivo real cada 2 minutos, todo mientras nuestro archivo esté abierto.

Para crear la macro, basta con ir a Visual Basic teniendo nuestro archivo abierto, o clic en alt + f11.
>>te podria interesar, como activar la pestaña Programador<<

Aqui en nuestro modulo1 escribimos lo siguiente:

Public Sub Auto_Open ()
  ActiveWorkbook.Save
  Hora = Now + TimeValue("00:02:00")
  Application.OnTime Hora, "Auto_Open”
End Sub

Esta macro lo que hace es:

1. Public Sub Auto_Open ()... Activa la macro al abrir el libro.
2. ActiveWorkbook.Save .... Guarda el libro que esté activo.
3. Hora = Now + TimeValue("00:02:00") ... Inicia un contador para guardar cada dos minutos. Este contador el usuario lo puede modificar para que lo guarde con los intervalos de tiempo que necesite.
4. Application.OnTime Hora, "Auto_Open” ..... Ejecuta la macro en los intervalos de tiempo que el usuario necesita.
5. End Sub ...... Cierra la macro.
-------------------------------

Esperamos que te sirva



Compartimos Gratis Videos y trucos de Excel, quieres suscribirte a nuestro canal?  https://www.youtube.com/user/vtbiable?sub_confirmation=1

Si te gustó, síguenos en Twitter  para recibir nuestras actualizaciones y trucos

15 comentarios:

  1. Buen día.
    Esta macro la debo copiar y ejecutar para cada archivo?
    Y si es así, es posible hacerla para que se ejecute en cada archivo sin tener que copiarla cada vez que realizo un trabajo en excel?

    ResponderBorrar
    Respuestas
    1. Hola!!! Para que quede disponible en todos lo que debes hacer es guardarla en el libro personal de macros. En este vinculo a continuacion en el paso 2 se encuentra la ventana donde le dices guardar la macro en "libro de macros personal" http://ideasdeexcelavanzadas.blogspot.com.co/2010/01/como-crear-una-macro-automaticamente.html

      Borrar
  2. Hola buenas tardes, yo ya copie la macro en uno de mis libros pero me manda el siguiente error:
    No se puede ejecutar la macro "C:\My Documents\Estado.xls'!Auto_Open", Puede que la macro no este disponible en este libro o que se hayan deshabilitado todas las macros

    ResponderBorrar
    Respuestas
    1. Este error corresponde a que la macro aun no quedó en el nuevo libro. Para que quede disponible en todos lo que debes hacer es guardarla en el libro personal de macros.
      Saludos

      Borrar
  3. hola, copié el código para guardar automáticamente el archivo, guardé tanto el libro como la macro-
    ya le dí habilitar todas las macros. y le di f8 para correrlo pero me muestra un mensaje que dice:
    no pue puede ejecutar la macro. Puede que la macro no esté disponible en este libro o que se hayan deshabilitado todas las macros.

    Me pueden ayudar?? que me hace falta hacer??

    ResponderBorrar
    Respuestas
    1. Y guardaste el libro como "Libro de excel habilitado para macros .xlsm" ?

      Borrar
    2. Hola, ¿Que tal?, a mi me da el mismo error y si guarde el documento como libro habilitado para macros (.xlsm); ¿me puede ayudar?

      Borrar
    3. Envianos un ejemplo a ideasdeexcel@visiontecnologica.com

      Borrar
  4. Esta macro anda:

    Sub auto_open()
    tiempo = Now + TimeValue("00:01:00")
    Application.OnTime tiempo, "Guardar"
    End Sub

    Sub Guardar()
    ActiveWorkbook.Save
    Call auto_open
    End Sub

    ResponderBorrar
  5. Como puedo guardar una macro, y cada vez que se guarde sea con un nombre diferente

    ResponderBorrar
    Respuestas
    1. Hola, buenas tardes, aqui podrias crear una macro que guarde con la hora. Este es el ejemplo.
      Dim nombre, ruta As String
      ruta = "D:\Descargas\etp_cf"
      nombre = Range("A2").Text & Format(Now, "ddmmyyyy_hhmmss")
      ActiveWorkbook.SaveAs Filename:=ruta & "/" & nombre
      'Mensaje ok
      MsgBox "Yujuuu!", , "Guardar Ficha"

      Borrar
  6. Muy práctico y eficaz. Ya lo implemente y me resultó. Muchas gracias. Quisiera poder invitarles a un café pero soy cubano y vivo en cuba. Malamente tengo para mí familia. Pero les agradezco por compartir sus conocimientos con otros. Muchas gracias.

    ResponderBorrar