Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Индексирование многоуровневых списков - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Индексирование многоуровневых списков
Индексирование многоуровневых списков
Формуляр Дата: Воскресенье, 16.09.2012, 21:10 | Сообщение № 1
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Всем ДВС!
Пришлось давеча повозиться с индексированием многоуровневых списков.
Наплодил несколько макросов для произвольного уровня и для автоматической привязки к уровню группировки строк.
Может пригодтся кому ...
Одна беда - при перегруппировке строк не происходит автоматического пересчёта. Я этот вопрос уже пытался провентилировать тут, но может у кого принципиално новые заходы придумаются?
К сообщению приложен файл: ListLevelIndex.xls (43.5 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Воскресенье, 16.09.2012, 21:11
 
Ответить
СообщениеВсем ДВС!
Пришлось давеча повозиться с индексированием многоуровневых списков.
Наплодил несколько макросов для произвольного уровня и для автоматической привязки к уровню группировки строк.
Может пригодтся кому ...
Одна беда - при перегруппировке строк не происходит автоматического пересчёта. Я этот вопрос уже пытался провентилировать тут, но может у кого принципиално новые заходы придумаются?

Автор - Формуляр
Дата добавления - 16.09.2012 в 21:10
nerv Дата: Воскресенье, 16.09.2012, 22:34 | Сообщение № 2
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Привет.

SheetCalculate.

Наверно я не прав. Как сделать перегруппировку? )


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Воскресенье, 16.09.2012, 22:36
 
Ответить
СообщениеПривет.

SheetCalculate.

Наверно я не прав. Как сделать перегруппировку? )

Автор - nerv
Дата добавления - 16.09.2012 в 22:34
Формуляр Дата: Понедельник, 17.09.2012, 09:50 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
nerv,
под перегруппировкой я имел в виду изменение уровня группировки строк.
Calculate при этом не запускается, по крайней мере в 2003. sad


Excel 2003 EN, 2013 EN
 
Ответить
Сообщениеnerv,
под перегруппировкой я имел в виду изменение уровня группировки строк.
Calculate при этом не запускается, по крайней мере в 2003. sad

Автор - Формуляр
Дата добавления - 17.09.2012 в 09:50
nerv Дата: Понедельник, 17.09.2012, 20:51 | Сообщение № 4
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

я ничего не понял. Приведи скрин, как ты делаешь перегруппировку smile


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
Сообщениея ничего не понял. Приведи скрин, как ты делаешь перегруппировку smile

Автор - nerv
Дата добавления - 17.09.2012 в 20:51
Формуляр Дата: Понедельник, 17.09.2012, 23:14 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Ну как делаю - обыкновенно.
К сообщению приложен файл: 2443304.jpg (97.4 Kb)


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеНу как делаю - обыкновенно.

Автор - Формуляр
Дата добавления - 17.09.2012 в 23:14
nerv Дата: Вторник, 18.09.2012, 12:00 | Сообщение № 6
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

понял. Такого события нет (насколько мне известно). Спасибо Биллу smile


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
Сообщениепонял. Такого события нет (насколько мне известно). Спасибо Биллу smile

Автор - nerv
Дата добавления - 18.09.2012 в 12:00
ikki Дата: Вторник, 18.09.2012, 16:04 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
и даже UDF с Application.Volatile внутри не знает об изменении уровня группировки. sad

есть вариант, но он ОЧЕНЬ плохой:
1) запустить макрос с бесконечным циклом и с DoEvents внутри
2) с необходимой периодичностью заполнять массив чисел с OutlineLevel для UsedRange
3) сравнивать его с "эталонным" предыдущим массивом и, если где чего не совпало, то...

либо по аналогичной схеме - подвесить на процедуру с периодическим самовызовом по OnTime

но, во-первых, при удалении/добавлении строк нужны будут дополнительные извраты
а, во-вторых, сам по себе способ - уже изврат smile

более редкий вызов "по запросу" - не вариант?
при сохранении, перед печатью или по кнопке?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениеи даже UDF с Application.Volatile внутри не знает об изменении уровня группировки. sad

есть вариант, но он ОЧЕНЬ плохой:
1) запустить макрос с бесконечным циклом и с DoEvents внутри
2) с необходимой периодичностью заполнять массив чисел с OutlineLevel для UsedRange
3) сравнивать его с "эталонным" предыдущим массивом и, если где чего не совпало, то...

либо по аналогичной схеме - подвесить на процедуру с периодическим самовызовом по OnTime

но, во-первых, при удалении/добавлении строк нужны будут дополнительные извраты
а, во-вторых, сам по себе способ - уже изврат smile

более редкий вызов "по запросу" - не вариант?
при сохранении, перед печатью или по кнопке?

Автор - ikki
Дата добавления - 18.09.2012 в 16:04
Формуляр Дата: Вторник, 18.09.2012, 17:18 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Quote (ikki)
более редкий вызов "по запросу" - не вариант? при сохранении, перед печатью или по кнопке?

Да, пожалуй, что-нибудь в этом роде и сделаю. Например, на BeforeSave повешу.
Спасибо за совет.


Excel 2003 EN, 2013 EN
 
Ответить
Сообщение
Quote (ikki)
более редкий вызов "по запросу" - не вариант? при сохранении, перед печатью или по кнопке?

Да, пожалуй, что-нибудь в этом роде и сделаю. Например, на BeforeSave повешу.
Спасибо за совет.

Автор - Формуляр
Дата добавления - 18.09.2012 в 17:18
Саня Дата: Четверг, 20.09.2012, 00:39 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
в продолжение этого

команда не производит действий, поджигающих какие-либо события => нужно изменить саму команду

с 2003-м уже давно не работал, поэтому не помню, можно ли подломить OnAction встроенного контрола, если нельзя (сомневаюсь в этом), то рядом со встроенным нарисуешь свой с такой же зеленой стрелочкой и соответствующим функционалом (группировать + обновить нумерацию), а встроенный Визибл=на...

все изменения повесить на открытие книги (надстройки), ресет всех команд - на закрытие
там еще горячие клавиши есть, их тоже на...

ps
в >=2007 - переопределение команды делается одной xml-строкой
 
Ответить
Сообщениев продолжение этого

команда не производит действий, поджигающих какие-либо события => нужно изменить саму команду

с 2003-м уже давно не работал, поэтому не помню, можно ли подломить OnAction встроенного контрола, если нельзя (сомневаюсь в этом), то рядом со встроенным нарисуешь свой с такой же зеленой стрелочкой и соответствующим функционалом (группировать + обновить нумерацию), а встроенный Визибл=на...

все изменения повесить на открытие книги (надстройки), ресет всех команд - на закрытие
там еще горячие клавиши есть, их тоже на...

ps
в >=2007 - переопределение команды делается одной xml-строкой

Автор - Саня
Дата добавления - 20.09.2012 в 00:39
Alex_ST Дата: Четверг, 20.09.2012, 09:26 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (Саня)
рядом со встроенным нарисуешь свой с такой же зеленой стрелочкой и соответствующим функционалом (группировать + обновить нумерацию), а встроенный Визибл=на...
Молодец, Саня!
Просто и эффективно! 5 баллов!



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 20.09.2012, 09:27
 
Ответить
Сообщение
Quote (Саня)
рядом со встроенным нарисуешь свой с такой же зеленой стрелочкой и соответствующим функционалом (группировать + обновить нумерацию), а встроенный Визибл=на...
Молодец, Саня!
Просто и эффективно! 5 баллов!

Автор - Alex_ST
Дата добавления - 20.09.2012 в 09:26
Паттттт Дата: Четверг, 20.09.2012, 17:05 | Сообщение № 11
Группа: Заблокированные
Ранг: Новичок
Сообщений: 43
Репутация: -17 ±
Замечаний: 100% ±

Саня, посмотри, пожалуйста, тему http://www.excelworld.ru/forum/3-717-1
 
Ответить
СообщениеСаня, посмотри, пожалуйста, тему http://www.excelworld.ru/forum/3-717-1

Автор - Паттттт
Дата добавления - 20.09.2012 в 17:05
nerv Дата: Четверг, 20.09.2012, 20:03 | Сообщение № 12
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Паттттт, посмотри, пожалуйста, тему http://www.excelworld.ru/forum/3-717-1 ph34r

Quote (Alex_ST)
Молодец, Саня!
Просто и эффективно! 5 баллов!

да. Прежде. чем что-то построить, надо что-то сломать laugh


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Четверг, 20.09.2012, 20:05
 
Ответить
СообщениеПаттттт, посмотри, пожалуйста, тему http://www.excelworld.ru/forum/3-717-1 ph34r

Quote (Alex_ST)
Молодец, Саня!
Просто и эффективно! 5 баллов!

да. Прежде. чем что-то построить, надо что-то сломать laugh

Автор - nerv
Дата добавления - 20.09.2012 в 20:03
Формуляр Дата: Пятница, 21.09.2012, 10:10 | Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Quote (Саня)
команда не производит действий, поджигающих какие-либо события => нужно изменить саму команду

Саня, спасибо за рекомендацию, но для моей ситуации слишком сложный вариант.
Вполне устроит пересчёт при сохранении.


Excel 2003 EN, 2013 EN
 
Ответить
Сообщение
Quote (Саня)
команда не производит действий, поджигающих какие-либо события => нужно изменить саму команду

Саня, спасибо за рекомендацию, но для моей ситуации слишком сложный вариант.
Вполне устроит пересчёт при сохранении.

Автор - Формуляр
Дата добавления - 21.09.2012 в 10:10
ElenHim Дата: Вторник, 25.09.2012, 00:23 | Сообщение № 14
Группа: Проверенные
Ранг: Новичок
Сообщений: 26
Репутация: 10 ±
Замечаний: 0% ±

Формуляр, а классами не пробовал?


Pluribus Impar
 
Ответить
СообщениеФормуляр, а классами не пробовал?

Автор - ElenHim
Дата добавления - 25.09.2012 в 00:23
Мир MS Excel » Вопросы и решения » Готовые решения » Индексирование многоуровневых списков
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!