|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть книга с кучей таблиц, где временами делают сортировки по разным критериям. Проблема в том, что мне надо отслеживать такие события сортировки. Попробовал использовать событие Worksheet_Change, но оно не срабатывает при сортировке. Народ, подскажите, есть ли возможность перехватывать события сортировки? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 09:03 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
MAULER, поместите на лист "летучую" функцию напр. =СЛЧИС() и используйте Worksheet_Calculate. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 09:53 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Казанский, Поясните пожалуйста, что значит "летучая функция"? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 09:54 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
MAULER, Летучие (изменяемые, изменчивые, волатильные) - те, которые пересчитываются при любых изменениях на листе, независимо от того, поменялись ли исходные данные этих функций. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 11:31 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
big-duke, Дело в том, что Calculate срабатывает раньше, чем Change. А на Change у меня навешена определённая логика. А сортировка "тревожит" только Calculate (без Change). Не могу придумать, как мне в этих двух обработчиках выделить только сортировку. Т.е. когда сработает Calculate, оно не будет ждать Change! По идее, чтобы понять что сработала сортировка, нужно быть уверенным, что Change не сработал. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 13:32 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Событие AfterCalculate срабатывает после Change - если это поможет... Но вот как установить, что оно вызвано именно сортировкой, я лично фиг знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 13:50 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Впрочем, если между Calculate и AferCalculate не было Change - ну считай, что это таки сортировка. Авось нечасто будешь ошибаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 13:51 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Akina, Спасибо! Обязательно попробую!! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 14:35 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Что-то не могу найти ни одного примера с событием AfterCalculate. И экселем оно не принимается. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 15:33 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
MAULER, это событие похоже только в 2016 появилось. Можно в Calculate установить флаг и запланировать процедуру через секунду, а в Change сбросить флаг. Процедура проверяет флаг: если установлен, то производит обработку и сбрасывает флаг. Хотя Calculate может вызываться и без сортировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 19:57 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Казанский, У меня и так 2016 офис, но что то не вижу я такого события (( ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 07:21 |
|
Excel VBA: возможно ли отследить событие сортировки?
|
|||
---|---|---|---|
#18+
Казанскийэто событие похоже только в 2016 появилось.Неправда ваша. У меня в 2010 имеется. Но это событие не листа или книги, а объекта Excel.Application, и к нему и надо достукиваться через экземпляр этого объекта, объявляя соответственно Dim WithEvents, формируя обработчик метода, и так далее. MAULERне могу найти ни одного примера с событием AfterCalculate.Надо искать не в песочнице, а на сайтах/форумах для продвинутых... и да - не факт что найдёшь. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 08:12 |
|
|
start [/forum/topic.php?fid=60&msg=39653022&tid=2155052]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 402ms |
0 / 0 |