Элемент Полоса прокрутки позволяет изменять значения в определенном диапазоне с шагом (1, 2, 3, ...), если нажимать на кнопки со стрелочками, и с увеличенным шагом, если нажимать на саму полосу в стороне от бегунка. Этот элемент имеет много общего со Счетчиком .
Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.
Теперь вставить элемент управления можно через меню: Разработчик/ Элементы управления/ Вставить .
Обратите внимание, что в этом меню можно также вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.
Полоса прокрутки ( Scroll Bar ) как, впрочем и все другие Элементы управления формы, возвращает только 1 числовое значение. См. файл примера .
Обзорную статью обо всех элементах управления формы можно прочитать здесь .
Через меню Разработчик/ Элементы управления/ Вставить выберем левой клавишей мыши элемент Полоса прокрутки .
После этого выпадающее меню закроется, а курсор вместо обычного толстого крестика
превратится в тонкий крестик.
Кликнув левой клавишей мыши в нужное место на листе, элемент Полоса прокрутки будет помещен на лист (вертикально).
Чтобы при вставке элемента поместить Полосу прокрутки горизонтально, кликните и удерживайте левую клавишу мыши, затем переместите мышь вправо и чуть вниз.
После вставки Полосы прокрутки она становится выделенной. Если кликнуть в любом другом месте листа, то Полоса прокрутки перестанет быть выделенной. Чтобы снова ее выделить нужно кликнуть ее ПРАВОЙ клавишей мыши (клик ЛЕВОЙ клавиши увеличивает или уменьшает значение в связанной ячейке (см. ниже)). После клика правой кнопкой также появляется контекстное меню, чтобы его убрать можно нажать ESC или кликнуть левой клавишей по Полосе прокрутки .
Если навести курсор на выделенную Полосу прокрутки (курсор примет форму 4-х направленных в разные стороны стрелок), затем нажать и удерживать левую кнопку мыши, то можно переместить Полосу прокрутки . Удерживая клавишу ALT можно выровнять Полосу прокрутки по границам ячеек. Выделенную Полосу прокрутки также можно перемещать стрелками с клавиатуры.
Если навести курсор на углы прямоугольника или на маленькие квадратики на границе, то можно изменить ее размер.
Как было сказано выше, все Элементы управления формы возвращают значение. Это значение помещается в ячейку определенную пользователем. Чтобы связать Элемент управления с ячейкой, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта... Появится диалоговое окно, выберите вкладку Элемент управления (если такая вкладка отсутствует, то Вы вставили Элемент ActiveX, а не Элемент управления формы, об этом см. выше).
В поле Связь с ячейкой нужно ввести ссылку на ячейку. Свяжем наш Полосу прокрутки с ячейкой А1 .
Также установим минимальное значение =1, максимальное =101, шаг изменения =2, шаг изменения по страницам =10.
Нажмите ОК.
Убедитесь, что Полоса прокрутки не выделена. Пощелкайте левой клавишей мыши по кнопкам Полосы прокрутки . В ячейке А1 значение будет увеличиваться/ уменьшаться в указанном диапазоне, причем с шагом 2 (1, 3, 5, ...), т.е. в ячейку будут вводиться только нечетные числа. При щелчке по полосе прокрутки, значения будут уменьшаться/ увеличиваться с шагом 10.
Существует и другой способ связать Элемент управления и ячейку: Выделите правой клавишей мыши Элемент управления, в Строке формул введите =, затем кликните левой клавишей мыши на нужную ячейку, нажмите клавишу ENTER . Чтобы изменить ячейку, с которой связан Элемент управления, достаточно перетащить эту ячейку, взяв за ее границу, в нужное место.
Одну ячейку можно связать с несколькими элементами управления, но имеет ли это смысл? Решать Вам.
Примечание . Можно принудительно ввести в ячейку текстовое значение, но оно будет заменено при следующем нажатии Полосы прокрутки . Проведем эксперимент. Пусть в ячейке А1 введено число 5. Даже если Вы введете в ячейку А1 текст " строка ", то при следующем нажатии Полосы прокрутки , в ячейке появится число 7 (если шаг =2), т.е. Полоса прокрутки хранит текущее значение не в ячейке, а где-то в себе.
Если, в нашем примере, Вы введете четное значение, то Полоса прокрутки не сбросит его, а будет прибавлять 2 и Вы получите четную последовательность 2, 4, 6, ... Но, при достижении верхней границы его поведение изменится 96, 98, 100, 101, т.к. максимальное значение установлено нами =101. Теперь при движении вниз Полоса прокрутки будет воспроизводить последовательность нечетных чисел! Тоже справедливо и для нижней границы: 6, 4, 2, 1, т.к. минимальное значение установлено =1. Поэтому, следите, чтобы граничные значения (при шаге отличным от 1), содержались в требуемой последовательности, иначе при движении вверх и вниз Вы можете получить разные последовательности. Например, для последовательности 1, 4, 7, 10 (шаг 3) правильно установить границы 1 и 10. Если Вы установите границы 1 и 9, то при движении от 1 Вы получите последовательность 1, 4, 7, 9, затем при движении от 9 - получите 9, 6, 3, 1, т.е. 2 разные последовательности!
Полоса прокрутки удобна, когда у Вас есть модель, которая зависит от определенного параметра и Вам требуется посмотреть, как ведут себя показатели модели в зависимости от этого параметра: согласитесь нажимать на кнопку удобней, чем вводить значения непосредственно в ячейку. Можно также нажать на Полосу прокрутки и удерживать левую клавишу мыши, и значения в связанной ячейке начнут "бежать".
Предположим, что имеется таблица с множеством столбцов и нам нужно средство для просмотра только одного столбца.
При нажатии на Полосу прокрутки (кнопки), значение в связанной ячейке А1 будет увеличиваться/ уменьшаться на 1 (шаг), следовательно, будет отображен следующий/ предыдущий месяц. При нажатии на Полосу прокрутки (полоса), значение в связанной ячейке А1 будет увеличиваться/ уменьшаться на 3 (шаг страницы), следовательно, будет отображен месяц, отстоящий на 3 месяца вперед или назад. Это реализовано с помощью формулы =СМЕЩ($B19;;$A$1-1) в ячейке В8 и ниже.
Также для выделения текущего месяца в исходной таблице использовано Условное форматирование .
Нажмем на кнопку Полосы прокрутки , чтобы отобразить (в диапазоне В8:В14 ) следующий месяц.
Этот месяц будет выделен в исходной таблице.
Примечание . Таблица, конечно же, спроектирована не совсем корректно: логично разместить материалы в столбцах, а месяцы в строках. О правильном проектировании таблиц читайте здесь .
У каждого Элемента управления есть имя. Чтобы его узнать нужно выделить Полосу прокрутки , в Поле имя будет отображено ее имя. Чтобы изменить имя Полосы прокрутки - в Поле имя введите новое имя и нажмите клавишу ENTER . Также имя можно изменить в Области выделения ( Главная / Редактирование/ Найти и выделить/ Область выделения ).
Зачем нам знать имя элемента управления? Если Вы не планируете управлять Полосой прокрутки из программы VBA, то имя может потребоваться только для настройки его отображения на листе. Об этом читайте ниже.
Включите Область выделения ( Главная / Редактирование/ Найти и выделить )
В Области выделения можно управлять отображением не только Элементов управления, но и других объектов на листе, например рисунков.
Нажмите на изображение глаза напротив имени объекта и объект исчезнет/ появится.
Диапазон изменения значений Полосы прокрутки может содержать только положительные значения, шаг - только целые и положительные значения. Этого не всегда достаточно. Научимся использовать формулы, чтобы расширить возможности Полосы прокрутки (см. файл примера ).
Чтобы иметь возможность изменять значение в ячейке с шагом 0,1 используйте формулу =A31/10 ( Полоса прокрутки связана с ячейкой А31 ).
Чтобы изменять значение в ячейке от -24 до -1, используйте формулу =-25+A35 (границы Полосы прокрутки установлены от 1 до 24, Полоса прокрутки связана с ячейкой А35 )
Шаг изменения Полосы прокрутки можно сделать переменным, например, используя квадратичную зависимость (1, 4, 9, 16, ...) с помощью формулы =A38*A38 ( Полоса прокрутки связана с ячейкой А38 ).
© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved
Комментарии