Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/117: Рейтинг темы: голосов - 117, средняя оценка - 4.66
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575

Отмена действий, выполненных макросом

17.11.2009, 20:32. Показов 23672. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация: применил макрос. Макрос содержит 5 команд. Затем я понял, что применил макрос по ошибке.
Как мне отменить все эти 5 команд?
Как я поступаю в этой ситуации: я нажимаю на стрелку кнопки "Отмена действий" и вычитываю, с чего начинается макрос. Затем отменяю действия по этому признаку.
Вопрос: как сделать так, чтобы найти начало Макроса или чтобы отменить все его Команды.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.11.2009, 20:32
Ответы с готовыми решениями:

Возможность отмена действий после ввода в ячейку Excel данных
Допустим я в Excel делал какие-то действия, но после ввода текста в ячейку через VBA: Sub m_1() ActiveCell.Value = "123" ...

Отмена автопротягивания формулы в "Умной таблице" макросом
Добрый день, уважаемые форумчане. Возник вопрос, и я даже не знаю как к нему подступится. В файле имеется несколько...

Счетчик выполненных замен
Не могли бы Вы подсказать такой момент: Возможно ли после исполнения макроса задать вывод окна на базе MsgBox с числом выполненных...

31
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 9
28.11.2009, 14:38
Студворк — интернет-сервис помощи студентам
Все так поняли и делал, выдает ошибку в этом месте
Visual Basic
1
ActiveDocument.Undo
0
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 9
28.11.2009, 14:50
Все так поняли и делал, выдает ошибку в этом месте
Visual Basic
1
ActiveDocument.Undo
Добавлено через 12 минут
ошибка следующая

Run-time error '424'

Object required
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
28.11.2009, 15:05  [ТС]
leshuk,
А ты делал этот пример, который здесь приведён?
Он у тебя срабатывает?
Закрой и открой полностью Word.
0
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 9
28.11.2009, 15:13
Busine2009, он вообще не работает. я к-стати в Excel это делаю. Открытие/закрытие не помогают
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
28.11.2009, 15:31  [ТС]
leshuk,
ясный перец он не будет работать - это же макрос для Word.
Я сейчас почитал про Excel, там написано, что с помощью макроса можно отменить только 1 действие пользователя, сделанное через кнопки на панели инструментов. Если что-то было сделано с помощью макроса, то отменить нельзя.
Может кто даст ответ, я не знаю решения твоей задачи.
1
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 9
28.11.2009, 15:33
Busine2009, а де читал?
У меня были подозрения )))
Будем читать, но Undo в екселе присутствует точно! Но как им пользоваться пока не могу понять
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
28.11.2009, 17:19  [ТС]
leshuk,
я допустил ошибку, сделав акцент на отмене 1 действия, ведь мы же действия будем циклом удалять. Но действия макроса отменить нельзя - это точно написано в справке, можно отменить только действия пользователя, непосредственно осуществлённые через интерфейс программы.
Зайди в VBA, в поле справки введи undo, выбери undo method.
Cancels the last user-interface action.
Добавлено через 11 минут
leshuk,
onundo кажется то, что нужно, но я ещё не разобрался, посмотри в интернете про это или справку почитай.

Добавлено через 51 минуту
Почитав Справку (мне почему-то даже в голову не пришло Справку почитать, прежде чем создавать эту тему), упрощаем Макрос по отмене Последнего Макроса:
Code
1
2
3
4
Public uc As Long
Sub DoUndo()
ActiveDocument.Undo uc
End Sub
Добавлено через 38 минут
Кажется начинаю понимать, что означает
Code
1
OnUndo
Для отмены своего макроса ты должен написать ещё один макрос, который приведёт состояние Книги в прежнее состояние. Но, как я понял, некоторые действия макроса отменить нельзя.
Для этого надо в конце своего макроса написать:
Code
1
2
Application.OnUndo "Название, которое будет отображаться при нажатии 
на стрелку кнопки "Отмена", "Название макроса, который надо запустить"
2
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 9
28.11.2009, 17:34
Busine2009, так пробовал, не работает
вот интересные примеры
http://msoffice.nm.ru/faq/macr... .htm#faq62 тоже есть файл примера

Изучив их, понимаешь что вернуть обратно можно только одно последнее действие

Добавлено через 3 минуты
Цитата Сообщение от Busine2009 Посмотреть сообщение
Для отмены своего макроса ты должен написать ещё один макрос, который приведёт состояние Книги в прежнее состояние.
Как раз пытаюсь это сделать, но пока никак. Есть вариант через промежуточное сохранение

Вторая ссылка демонстрирует как работает OnUndo
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
28.11.2009, 17:46  [ТС]
leshuk,
в примере смысл следующий: после выполнения Макроса в выпадающем списке Отмена действий появляется Определённое название, по нажатию на которое, выполняется Макрос, закрывающий Книгу Excel без сохранения.
0
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 9
28.11.2009, 17:55
Busine2009, ну так это примет работы OnUndo


Цитата Сообщение от Busine2009 Посмотреть сообщение
Код:
Application.OnUndo "Название, которое будет отображаться при нажатии
на стрелку кнопки "Отмена", "Название макроса, который надо запустить"
0
 Аватар для DVSamchuk
1 / 1 / 1
Регистрация: 24.01.2013
Сообщений: 15
18.07.2014, 13:20
просто напиши процедуру, предшествующую той, что хочешь отменить, содержащую код формирования бэкапа. По закрытию/сохранении книги лист (можо даже скрытый), скажем "Backup" - удаляется.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
20.07.2014, 00:26
DVSamchuk, ему через 4 года наверное уже не надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.07.2014, 00:26

Отмена действий, выполненных программой
Отмена действий, выполненных программой. Скажите - это реализуемо функционалом Lazarus или необходимо самому делать? Заранее благодарен.

Отмена действий
Есть форма, на ней кнопки - Добавить Изменить Сохранить Отмена Подскажите как мне реализовать отмену действий. Слышал что есть...

Мгновенная отмена действий
Всем привет. Могу ли я отменить анимацию блока span при клике на кнопку div? Вот здесь подготовлен исходник. Спасибо! Добавлено...

Отмена действий в DbGrideh
Подскажите пож. можно ли отменить изменения в DBGridEh после сохранения, примерно как в...

MessageBox отмена действий
Здравствуйте, возможно мой вопрос вам покажется простым. Есть функция, которые проводит вычисления. В MessageBox показываются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru