Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

Цитата:
Сообщение от 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, 04:06   #14
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 9,133
Репутация: 1796

icq: 7934250
skype: i2x0,5
По умолчанию

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

Цитата:
Сообщение от IgorGO Посмотреть сообщение
в Excel не предусмотрено возможности отката действий произведенных макросом
вносите изменения в ячейки руками и будеи Вам Ctrl+Z
Спасибо.
Придется изобретать что-то другое, иначе пользователи меня съедят
Как вариант отрабатывать макрос при нажатии на кнопку "Сохранить".
Будет конечно не так удобно, но зато ответственность с себя сниму.
Код:

Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean)  
  
End Sub

Kolis вне форума   Ответить с цитированием
Старый 23.05.2019, 16:01   #16
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,396
Репутация: 5596
По умолчанию

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


13:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru