Guardar historial de una hoja de calculo

Deseo guardar un historial de las modificaciones realizadas en cualquier parte de la hoja de calculo y que lo pueda almacenar en un archivo . Txt. Este código solo permite almacenar lo modificado o agregado en la columna A.

Private Sub Worksheet_Change(ByVal Target As Range)

Open "historia.txt" For Append As #1

If Target.Column = 1 Then

direccion = Target.Address

dato = Target.Value

Write #1, direccion, dato, Now

End If

Close #1

End Sub

1 Respuesta

Respuesta
1

Lo que hace que revise la columna 1 es la instrucción "If Target.Column = 1 Then" (y el End If respectivo) por lo tanto si quieres que guarde todos los cambios simplemente debes eliminarlos (Ojo! considera que esto va a hacer que guardes todos los cambios que tengas en cualquier parte de la hoja lo que puede volver muy lento tu archivo, así que manejalo con cuidado). El código resultante sería:

Private Sub Worksheet_Change(ByVal Target As Range)
Open "historia.txt" For Append As #1
Write #1, Target.Address, Target.Value, Now
Close #1
End Sub

¡Gracias!

Muy gentil por dar un respuesta tan pronto y tan acertada. Quisiera saber si es posible que lo que se esta guardando en archivo. ¿txt se podrá almacenar en otra hoja del mismo libro?

Quisiera saber si es posible que lo que se esta guardando en archivo. txt se podría almacenar en otra hoja del mismo libro de trabajo?

Al momento de borrar todo los datos de la hoja me sale un error en ejecución numero 13, como lo podría resolver?

¿Qué querés hacer respecto al error? Si, simplemente lo querés ignorar, entonces agregá la instrucción

On error Resume Next

Aunque no veo que estés borrando nada en el código. Creo que deberías ordenar un poco los temas y hacer otra pregunta por eso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas