Возможность отмена действий после ввода в ячейку Excel данных

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

Допустим я в Excel делал какие-то действия, но после ввода текста в ячейку через VBA:

Код: Выделить всё

Sub m_1()
ActiveCell.Value = "123"
End Sub
я не могу отменить действия, т.е. стрелочка Undo - блеклая (неактивная).
Какие есть способы ввода в ячейку текста, чтобы можно было отменять предыдущие действия.
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Действия, выполненные макросами, отменить нельзя. Если только с помощью макроса предусмотреть сохранение введенных значений, например, в каком-то диапазоне и выборку из него по необходимости.
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

nilem
допустим до выполнения макроса я сделал 10 действий, их тоже уже никак нельзя отменить? И с чем это связано?
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Есть такой "стек предыдущих состояний". Все изменения записываются в него (в Е2007 до 100 изменений можно отменить). Так вот некоторые действия просто очищают этот стек - например, сохранение документа, удаление листа, выполнение макроса и т.д - и отменять становится просто нечего.
Вроде есть способы обойти это дело, но тут я ничего не могу посоветовать. Попробуйте посмотреть здесь:
http://www.planetaexcel.ru/forum.php/pl ... d_id=12213
Ответить