I've had a couple of beers so I may be about to write something stupid but..

If the previous value has been stored in the cell to the right of the target cell, could we store the target row in a global variable and create a kind of undo macro that would put the old value back into the target cell and clear the cell to the right?

That macro could then be assigned to a keyboard shortcut. I understand that it would only undo the last change but would it be better than nothing?