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

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

17.11.2009, 20:32. Показов 23762. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru