Похоже, что это невозможно в конце концов.
Метод Application.OnUndo
очищает текущий стек отмены и помещает себя сверху.
Похоже, больше ничего не связано с настройкой отмены.
Это возможно.
Application.OnUndo
регистрирует подпрограмму отмены для текущей исполняемой подпрограммы:
sub ImMakingChanges()
cells(1,1).interior.color = vbyellow
application.onundo "Undo the stupid color", "RemoveMyStupidChanges"
end sub
sub RemoveMyStupidChanges()
cells(1,1).interior.colorindex = xlnone
end sub
Очевидно, сохраняя предыдущуюсостояние в дикой природе это вообще кошмар.Но вот, пожалуйста.
Кроме того, ваша подпрограмма отмены должна быть видимой для широкой публики, чтобы Excel мог ее найти и вызвать.