Macro para guardar informacion.

18/04/2012 - 17:35 por josephsalazar | Informe spam
¡ Hola ! como hacer una macro que cada 10 segundos me guarde un archivo de la hoja donde fue ingresada la informacion, Ejemplo; estoy haciendo un arhivo en el cual hay que llevar un control de lo que se ingresa pero esta la posibilidad de que la persona que ingresa la informacion a la hora de que alguien vaya a pagar la borre, y necesito que cada 10 segundos guarde una copia diferente.
 

Leer las respuestas

#1 Pedro F. Pardo
18/04/2012 - 18:45 | Informe spam
El miércoles, 18 de abril de 2012 16:35:52 UTC+1, josephsalazar escribió:
¡ Hola ! como hacer una macro que cada 10 segundos me guarde un archivo de
la hoja donde fue ingresada la informacion, Ejemplo; estoy haciendo un arhivo
en
el cual hay que llevar un control de lo que se ingresa pero esta la posibilidad
de que la persona que ingresa la informacion a la hora de que alguien vaya a
pagar la borre, y necesito que cada 10 segundos guarde una copia diferente.




¿Cada diez segundos no son muchas copias? ¿Porqué no guardar una copia cada vez que se cambia algo en la hoja? De ese modo si pasa mucho tiempo sin que nadie cambie nada no se guardarán copias.


Esta macro puede ayudarte (hay que guardarla en el worksheet, no la copies en un modulo)

Private Sub Worksheet_Change(ByVal Target As Range)

carpeta = "C:\" 'pon aquí la carpeta donde quieres guardar las copias

'Esto busca la extensión
posicion_extension = InStr(ActiveWorkbook.Name, ".xls")
extension = Mid(ActiveWorkbook.Name, posicion_extension, Len(ActiveWorkbook.Name) - posicion_extension + 1)

'Creamos un nuevo nombre incluyendo la fecha y la hora
newname = Mid(ActiveWorkbook.Name, 1, posicion_extension - 1) & " " & Format(Now(), "dd-mm-yyyy hh.mm.ss") & extension

'Y guardamos la copia
ActiveWorkbook.SaveCopyAs carpeta & newname

End Sub



************Cuidado con los saltos de linea*************

Preguntas similares