Авторизация

Рубрики блога


Рекомендуем



Последние комментарии

Облако тегов


Устами великих

"Странный этот мир, где двое смотрят на одно и то же, а видят полностью противоположное." © Агата Кристи

Реклама



MS Office и VBA Рубрика содержит интересные решения, малоизвестные функции и возможности, надстройки и макросы, в общем, все то, что может сделать вашу работу в пакете программ MS Office (в первую очередь - Excel, Word, Access) более эффективной.
23
Мар

TabMenu Excel - Меню вкладок из обьектов экселя

рейтинг материал 5.0 (2) | количество просмотров 4310 | количество коментариев 0
Как реализовать через макросы меню вкладок, в котором переключается отображение содержимого - диаграмм, изображений, схем и объектов SmartArt и т.п.
Download source

Порой, работая в Экселе, возникает необходимость разместить самые необходимые данные в поле зрения, минимизируя прокрутку и движения с листа на лист. Это может потребоваться в шаблоне, в котором вы ежедневно делаете какую-то аналитику или, скажем, вам поставлена задача сформировать отчет руководству, который был бы не перегружен информативно, читабельным и удобным.

Размышляя над одной из таких дилемм, я реализовал аналог меню вкладок с помощью макросов и свойства «на передний план» для объектов Экселя. Суть идеи сводится к тому, что берется несколько объектов, например графиков, задается им одинаковый размер и они накладываются один на другой, при этом важно, чтобы у этих объектов заливка не была прозрачной, а затем через кнопку с макросом нужному объекту задается свойство «на передний план» и именно таким образом возникает эффект «загрузки» необходимых данных.

Структура кода, отвечающего за действие по кнопке-переключения вкладки меню:


Sub TabMenu1()
 ActiveSheet.ChartObjects("Диаграмма 1").Activate ' выделяем обьект
 ActiveSheet.Shapes("Диаграмма 1").ZOrder msoBringToFront ' задаем свойство "на передний план"
 Range("F10").Select ' выделяем ячейку скрытую за диаграмой, чтобы работала смена указателя мышки при наведении на следующую кнопку
End Sub

Пример меню вкладок в файле Эксель вы можете скачать вначале и в конце статьи, через кнопку DOWNLOAD SOURCE

Инструкция для формирования такого меню (не требует знания макросов VBA)

1. Создаем несколько диаграмм (вместо диаграмм могут быть рисунки, фигуры, объекты SmartArt) и убеждаемся, что все они одинакового размера

2. Затем запускаем макрорекордер для начала записи макроса

3. Выделяем объект (в нашем случае диаграмму) и в вкладке Формат задаем свойство «На передний план»

4. Прекращаем запись макроса.

5. Пункты 2-4 повторяем для всех обьектов, чтобы записать сценарий выполнения макроса для каждой требуемой диаграммы.

6. Через вкладку Вставка нарисуем столько же прямоугольников, сколько диаграмм, которые планируем переключать. Прямоугольники будут кнопками-переключателями.

7. В каждом прямоугольнике добавим текст с заголовком, той диаграммы, которую хотим «включать» этой кнопкой.

8. Затем снова выделяем каждый прямоугольник-кнопку, жмем правую кнопку мыши и в выпадающем списке нажимаем «Назначить макрос…», после чего откроется окно со списком макросов, выбираем нужный макрос и нажимаем кнопку ОК

9. С зажатой кнопкой Shift выделяем левой кнопкой мыши все диаграммы и в вкладке Формат нажимаем сначала «Выровнять по левому краю», затем «Выровнять по верхнему краю», таким образом у нас все диаграммы окажутся одна над другой, а сверху будет та, которой последней задавалось свойство «На передний план»

10. После всех проделанных манипуляций, остается только разместить кнопки и диаграммы так чтобы вам было как можно удобнее, а также настроить внешний вид кнопок и диаграмм по вашему вкусу.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]