Algumas ações feitas em VBA não permitem que ações sejam desfeitas, infelizmente.
No entanto, se você quiser habilitar a função Desfazer por macros, pesquise o método Application.OnUndo. Infelizmente, você terá que fazer manualmente todo procedimento, isto é, todas vezes antes de executar uma macro, você deverá salvar o estado original
da planilha num local temporário para restaurar, caso o método seja executado.
Felipe Costa Gualberto - http://www.ambienteoffice.com.br