Macro para colocar la fecha de modificación de las hojas de un libro

Tengo esta Macro:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Range("A1") = Date & " " & Time
Application.EnableEvents = True

Application.EnableEvents = True
If Target.Address = "$B$8" Then
ActiveSheet.Name = Range("B8")
End If

End Sub

Pero no me permite deshacer porque entiendo que guarda los cambios. ¿Cómo puedo hacer para que eso no ocurra? Necesito que tener los datos de fecha de modificación pero que me permita deshacer los cambios mientras lo tengo abierto hasta que lo guarde.

1 Respuesta

Respuesta
1

Hol.a

No es que tu código guarde el archivo en algún momento y por eso no se puede usar la herramienta "Deshacer" sino que al activar dicha macros, en este caso a través de un "evento", genera que se vacíe la pila de opciones de "Deshacer" y lamentablemente eso no se puede evitar.

Abraham Valencia

PD: Hay un modo de simular el "deshacer" después de usar macros pero es bastante complicado

¡Gracias! Y cómo podría hacer para obtener la información de la fecha de actualización de cada hoja sin que me limite el deshacer?

Como te comentaba, se pierde esa capacidad pero, puedes intentar "simularlo" (ojo, simularlo, no es que se pueda mantener tal cual el "Deshacer") usando, a su vez, macros, pero no es tan simple, mira por aquí:

http://spreadsheetpage.com/index.php/site/tip/undoing_a_vba_subroutine/

No hay otra forma, lamentablemente.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas