|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.09.2011, 12:05 | #1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
событие было/не было изменения ячейки
В целях контроля изменений нужно знать происходили ли изменения значения ячеек на листе (каждый лист отдельно, желательно по именам), книге, в заданном диапазоне. Так же нужно сбрасывать контроль в ноль. Нужно контролировать только ручное изменения (в том числе с помощью макроса), то есть события пересчета формул, простого перемещения по листу, изменение значения имен и т.п. нужно игнорировать.
Реально ли это?
С уважением, Алексей.
|
18.09.2011, 12:32 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
короткий ответ - раельно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
18.09.2011, 19:41 | #3 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Для примера:
Ведение журнала сделанных в книге изменений
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
18.09.2011, 22:04 | #4 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Это единственная возможная реализация? То есть придется по сути самому отслеживать (хранить/вести поиск по параметрам и т.п.) нужные изменения. Была идея попробовать заставить это делать сам Excel, он же ведет некий лог действий для отмены n-последних действий. Можно ли задействовать (и как) этот механизм? Опишу подробнее: 1. Имеем книгу в которой значительное количество листов. Отслеживать изменения нужно только на 6-10 листах. Как вариант, один указатель изменений на все контролируемые листы. 2. Состояние изменений в False может быть сброшено в любой момент, без каких либо ограничений. 3. Таких книг будет много, причем одновременно могут быть открыты несколько. То есть код контроля размещается в xla. Имена контролируемых листов во всех книгах одинаковые. Примерный алгоритм: 1. Событие приложения - изменение содержания ячейки. 2. Проверяем имя листа? 2.1. Если имя не попадает в список контролируемых листов - выход. 2.2. Имя есть в списке. 2.2.1. Меняем индикатор изменений в True, по умолчанию стоит False. (индикатором изменений может быть либо ячейка в книге, либо Имя (переменная Excel)). 3. Выход. Просто... Но срабатывает по каждому чиху (даже когда у же стоит True), что не есть гуд. Не будет ли тормозить при большом количестве изменений, особенно при работе макросов? Есть другой путь?
С уважением, Алексей.
Последний раз редактировалось tae1980; 18.09.2011 в 22:10. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
а у вас так было? | Juffin | Свободное общение | 18 | 01.12.2009 19:48 |
Что это было? | Alex Cones | О форуме и сайтах клуба | 17 | 09.11.2009 01:36 |
Как сделать табличку, чтобы поля можно было редактировать и красить ячейки? | TwiX | Общие вопросы Delphi | 4 | 23.08.2009 13:18 |
Что это было? | дмидми | О форуме и сайтах клуба | 2 | 19.05.2008 00:24 |