Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2012, 13:23   #11
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Часто бывает так - в коде в начале стоит отключение событий, в конце включение. В процессе написания/отладки происходит ошибка/сбой, и события остаются отключенными - соответственно далее меняем ячейку как угодно, но ничего не срабатывает...
Решение - в окне отладки выполнить строку Application.EnableEvents = True , ну или перезагрузить Эксель.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.08.2012, 13:25   #12
stray_
Новичок
Джуниор
 
Регистрация: 06.08.2012
Сообщений: 2
По умолчанию

спасибо, поехало.
stray_ вне форума Ответить с цитированием
Старый 22.05.2019, 17:42   #13
Kolis
Новичок
Джуниор
 
Регистрация: 22.05.2019
Сообщений: 2
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Кроме того, есть модуль кода книги - аналогичный макрос в этом модуле книги отлавливает события всех листов:
Код:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' этот код уже надо вставлять в модуль книги (называется модуль ЭтаКнига)
    MsgBox "На листе " & Sh.Name & " изменена ячейка " & Target.Address
End Sub
Воспользовался этим советом, всё замечательно заработало, но...
есть небольшой побочный эффект - нельзя отменить произведенные действия. Кнопка "Отменить (Ctrl+Z)" становится неактивной.
Можно ли как-то избавиться от этого?
Если закомментировать код процедуры, то отмена снова начинает работать.
Kolis вне форума Ответить с цитированием
Старый 23.05.2019, 03:06   #14
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в Excel не предусмотрено возможности отката действий произведенных макросом
вносите изменения в ячейки руками и будеи Вам Ctrl+Z
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.05.2019, 06:20   #15
Kolis
Новичок
Джуниор
 
Регистрация: 22.05.2019
Сообщений: 2
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
в Excel не предусмотрено возможности отката действий произведенных макросом
вносите изменения в ячейки руками и будеи Вам Ctrl+Z
Спасибо.
Придется изобретать что-то другое, иначе пользователи меня съедят
Как вариант отрабатывать макрос при нажатии на кнопку "Сохранить".
Будет конечно не так удобно, но зато ответственность с себя сниму.
Код:
Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean)  
  
End Sub
Kolis вне форума Ответить с цитированием
Старый 23.05.2019, 15:01   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Kolis Посмотреть сообщение
Будет конечно не так удобно, но зато ответственность с себя сниму.
ой. я бы крайне осторожно использовал этот вариант.

поясню.
допустим, что какие-то изменения вносит макрос ВО ВРЕМЯ работы.
Пользователь видит эти изменения, откатить их не может, но, по крайней мере, он может закрыть файл БЕЗ сохранения (вернуться к версии, которая была сохранена в прошлый раз). А что ему делать, если он всё сделал, закончил, нажал СОХРАНИТЬ. Макрос всё поменял и файл сохранился. Как теперь вернуться к исходной копии?

Не боитесь, что пользователи Вас не просто съедят?...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++: обработка ввода данных kAND Помощь студентам 8 30.04.2009 18:33
Контроль ввода данных в классе oleg kutkov Общие вопросы C/C++ 1 14.04.2008 22:19
обработка ситуации неверного ввода данных Sweta Помощь студентам 0 22.11.2007 17:13
проверка ввода данных в форму @Simpson JavaScript, Ajax 1 12.11.2007 02:17