No, not generically I don't believe. It can only be done as far as I know by
reversing each step of the original macro in another macro.
Once a macro is run the 'Undo' greys out in the same way as if you save the
file as code is executed and the 'Undo' is gone.
I would be interested to hear any thoughts on this from other people on this
as to the possibility of this,
Regards,
Alan.