JtP,
Re: undoing
You could write your own undo script.
It can get complicated. It might look like this...
'---
Public vRetainValue(1, 2) As Variant
Sub Demo()
If ActiveCell.Column = 11 Then
vRetainValue(1, 1) = ActiveCell.Address
vRetainValue(1, 2) = ActiveCell.Value
ActiveCell.Value = Time
End If
End Sub
Sub UnDoDemo()
If Not IsEmpty(vRetainValue(1, 1)) Then
Range(vRetainValue(1, 1)).Value = vRetainValue(1, 2)
vRetainValue(1, 1) = Empty: vRetainValue(1, 2) = Empty
End If
End Sub
'---
Special_Randoms workbook
Download from MediaFire