![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
![]()
Нужно отследить были ли изменения на листе. При этом:
1. Нужно иметь возможность сбросить "счетчик" в ручную. 2. Нужен сам факт изменения, что изменили не важно и сколько их было. 3. За изменения принимает прямое изменение содержимого ячеек оператором. Изменениями не считаются: сдвиг по листу; пересчет формул; прочее. 4. В книге много листов - нужно контролировать только 6, но каждый отдельно. Нечто вроде: If ИзмененияНаЛисте(ЛистИмя) then ...... Как это можно сделать?
С уважением, Алексей.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Процедура события изменения листа в модуле книги
Код:
Проверяйте, является ли Sh одним из тех листов, которые надо контролировать, и увеличивайте на 1 соотв. счетчик. Имеет смысл в качестве счетчиков использовать ячейки на отдельном скрытом листе. Тогда информация об изменениях будет сохраняться вместе с книгой.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
![]() Цитата:
Этого не требуется по условию задачи. Но может быть полезно.
С уважением, Алексей.
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
> А не будет ли этот способ реагировать на каждый чих? Скажем на изменения в результате пересчета формулы
А Вы попрбуйте ![]() Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#5 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]() Цитата:
Цитата:
для пересчёта формул в Excel предусмотрено отдельное событие - Calculate |
||
![]() |
![]() |
![]() |
#6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
по событию
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)видно на что изменилось значения в Target, но какими они были до изменения отследить надо отдельно и самостоятельно. необходимо хранить массивы значений всех используемых ячеек контролируемых листов. сделаете, покажете что получилось. ок?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Неважно, сколько листов. На листе1 в первой строке покажет все изменявшиеся.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
![]() Цитата:
Код:
С уважением, Алексей.
|
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Закомментируйте их и в пошаговом режиме посмотрите, зачем.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 05.04.2012
Сообщений: 2
|
![]()
Ребят в Вашем примере отслеживается лист на котором были проведены какие либо изменения. А можно что то аналогичное проделать, но только не с листом а с ячейкой? Мне нужно знать не были ли изменены определенные ячейки. Спасибо за советы заранее!
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отслеживание | impulsgraw | Работа с сетью в Delphi | 3 | 12.06.2011 12:24 |
Сохранение изменений | Dmitrov | Помощь студентам | 0 | 15.05.2011 13:36 |
Отслеживание изменений | Fezdipekla | Microsoft Office Access | 3 | 09.07.2010 22:56 |
ячейка на одном листе, в которую необходимо подставлять данные из столбца, находящегося на другом листе | Ирина Водолагина | Microsoft Office Excel | 4 | 04.03.2009 23:38 |
Отслеживание изменений(по времени и дате) | Ксеноцид | Общие вопросы Delphi | 6 | 01.04.2008 10:59 |