В офисе 2013 есть функция "Фильтр" для работы с диаграммами, в 2010, увы, ее нет. Возможно ли сделать по подобию фишку, чтоб при наведении на какой либо объект (Флажок) указателя мыши - выделить один ряд диаграммы, при наведении на Флаг 2 - выделять ряд 2? Или это из ряда Фантастики? ) (возможно через Private Sub Chart_MouseMove)
В офисе 2013 есть функция "Фильтр" для работы с диаграммами, в 2010, увы, ее нет. Возможно ли сделать по подобию фишку, чтоб при наведении на какой либо объект (Флажок) указателя мыши - выделить один ряд диаграммы, при наведении на Флаг 2 - выделять ряд 2? Или это из ряда Фантастики? ) (возможно через Private Sub Chart_MouseMove)rever27
По-хорошему, это делается через хук событий окна, но для вас это может быть сложновато, а долго объяснять лень. Поэтому, если сильно надо, можете извратиться, например, так:
По-хорошему, это делается через хук событий окна, но для вас это может быть сложновато, а долго объяснять лень. Поэтому, если сильно надо, можете извратиться, например, так:KSV
KSV, к сожалению ActiveX не работают на листе "Диаграмма" miver, Интересная статья, спасибо, но про MouseMove там информации нет. Придется думать дальше
KSV, к сожалению ActiveX не работают на листе "Диаграмма" miver, Интересная статья, спасибо, но про MouseMove там информации нет. Придется думать дальшеrever27
miver, Разобрался, интересная Тема. Но когда на графике 20 рядов, а идет поиск выделения каждого, то лагает жутко. Через цикл For поиск каждого квадрата и выделение нужного ряда не запустить. Остается только прописывать каждому ряду свой код выделения?
miver, Разобрался, интересная Тема. Но когда на графике 20 рядов, а идет поиск выделения каждого, то лагает жутко. Через цикл For поиск каждого квадрата и выделение нужного ряда не запустить. Остается только прописывать каждому ряду свой код выделения?rever27
miver, Это был долгий вечер мучений, но я добил код, жаль не до идеала.
Вкратце: 1) Вначале ищем область наших "Прямоугольников", которые отвечают каждый за свой ряд. Продолжаем выполнять макрос только, если указатель в данном общем диапазоне 2) После выделения любого ряда(прямоугольника), запоминает вверх и низ активного прямоугольника, и продолжаем выполнение кода только, если указатель покинет эту зону (Ось Х нас уже не интересуют, т.к. предел проверяется в первом пункте) 3) Выполняем цикл перебора всех Рядов Диаграммы, с условием, что если данный ряд не видим, то пропускаем его выделение.
Прикладываю то, что получилось. Так же в код заложена подсветка активной ячейки при выделении и затемнение остальных. В общем, все функции, что есть в 2013 Екселе. Для тех, кому сердцу дорог 2010 )
miver, KSV. Буду рад, если посмотрите код на предмет улучшения быстродействия. Со своей стороны на 1,5 недели мучений выжал из него все, что мог )
miver, Это был долгий вечер мучений, но я добил код, жаль не до идеала.
Вкратце: 1) Вначале ищем область наших "Прямоугольников", которые отвечают каждый за свой ряд. Продолжаем выполнять макрос только, если указатель в данном общем диапазоне 2) После выделения любого ряда(прямоугольника), запоминает вверх и низ активного прямоугольника, и продолжаем выполнение кода только, если указатель покинет эту зону (Ось Х нас уже не интересуют, т.к. предел проверяется в первом пункте) 3) Выполняем цикл перебора всех Рядов Диаграммы, с условием, что если данный ряд не видим, то пропускаем его выделение.
Прикладываю то, что получилось. Так же в код заложена подсветка активной ячейки при выделении и затемнение остальных. В общем, все функции, что есть в 2013 Екселе. Для тех, кому сердцу дорог 2010 )
miver, KSV. Буду рад, если посмотрите код на предмет улучшения быстродействия. Со своей стороны на 1,5 недели мучений выжал из него все, что мог )rever27
miver, Визуально стало быстрее. Благодарю. Торможение замечается, если компьютер загружен тяжелыми программами. Поэтому и просматриваю каждую строчку, чтобы убрать лишнее "ЕСЛИ", лишнее действие.
miver, Визуально стало быстрее. Благодарю. Торможение замечается, если компьютер загружен тяжелыми программами. Поэтому и просматриваю каждую строчку, чтобы убрать лишнее "ЕСЛИ", лишнее действие.