Управление списками в excel

Управление списками рассмотрим на том же примере, что и Создание списков.

Управление списками может понадобится в тех случаях, когда набор значений вносимых в одно поле зависти от значения ячейки в другом поле. В рассматриваемом примере это поля "Вопрос" и "Ответ". Список ответов заранее определен и ограничен, однако ответы зависят от вопроса.

Как поступить правильно?

Для ответов на разные вопросы использовать разные поля с соответствующими списками? Это приведет к необоснованному расширению количества полей базы данных, кроме этого появятся пустые записи, а это, в общем и целом, не хорошо.

Собрать все ответы в один список? Список получится большим, с ним будет неудобно работать. Кроме этого потребуется "напряжение ума" что бы выбрать ответ принадлежащий заданному вопросу – следовательно это может привести к ошибкам.

Лучше всего, сделать так, чтобы в поле "ответ" подставлялись имена списков, а следовательно и сами списки, в зависимости от значения ячейки в поле "Вопрос". Для этого в поле "Источник" надо ввести функцию ЕСЛИ(), возвращающую имена списков в зависимости от значения ячейки в поле "Вопрос".

Учитывая, что формула в поле "Источник" целиком невидна, привожу ее отдельно в полной красе.

Внимание! Имена списков (Ответ; Кандидаты; Ответ1) в формуле в кавычки брать ненадо, т.к. это уже не текст, это имя списка! В конце формулы стоит "1", т.е. если ни одно условие не выполняется функция ЕСЛИ() в качестве имени списка вернет "1". Так как такого списка не существует, то он будет пуст. Это дополнительная страховка от ошибок.

Для тех кто превозмогая нечеловеческую усталость, безразличие и скуку все таки смог прочитать все три поста о СПИСКАХ – бонус – архив файла Excel с описанным примером, там есть еще макросы, поэтому не пугайтесь это из другой темы.

Элемент управления формы Список выводит список нескольких элементов, которые может выбрать пользователь. Этот элемент имеет много общего с элементом Поле со списком.

Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.

  • В MS EXCEL 2007 это можно сделать через меню Кнопка офис/ Параметры Excel/ Основные/ Показывать вкладку Разработчик на ленте .
  • В MS EXCEL 2010 это можно сделать так: Откройте вкладку Файл; Нажмите кнопку Параметры; Нажмите кнопку Настроить ленту; Выберите команду Настройка ленты и в разделе Основные вкладки установите флажок Разработчик.

Теперь вставить элемент управления можно через меню: Разработчик/ Элементы управления/ Вставить.

Обратите внимание, что в этом меню можно также вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.

Список (List box) как, впрочем и все другие Элементы управления формы, возвращает только 1 числовое значение (если Вы не планируете использовать VBA). См. файл примера .

Обзорную статью обо всех элементах управления формы можно прочитать здесь.

Вставка Списка

Через меню Разработчик/ Элементы управления/ Вставить выберем левой клавишей мыши элемент Список (см. рисунок выше).

Читайте также:  Города спутники московской области

После этого выпадающее меню закроется, а курсор вместо обычного толстого крестика

превратится в тонкий крестик.

Кликнув левой клавишей мыши в нужное место на листе, элемент Список будет помещен на лист.

Выделение списка

Чтобы выделить Список нажмите и удерживайте клавишу CTRL, затем кликните левой клавишей на Список.

Перемещение Списка и изменение его размеров

Если навести курсор на выделенный Список (курсор примет форму 4-х направленных в разные стороны стрелок), затем нажать и удерживать левую кнопку мыши, то можно его переместить. Удерживая клавишу ALT можно выровнять Список по границам ячеек. Выделенный Список также можно перемещать стрелками с клавиатуры.

Если навести курсор на углы прямоугольника или на маленькие кружки на границе, то можно изменить его размер.

Заполняем Список элементами

Заполним наш Список названиями месяцев. Для начала разместим названия месяцев на листе в диапазоне F2:F13.

Чтобы заполнить Список, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта. Появится диалоговое окно, выберите вкладку Элемент управления (если такая вкладка отсутствует, то Вы вставили Элемент ActiveX, а не Элемент управления формы, об этом см. выше).

Введите в поле Формировать список по диапазону ссылку на вышеуказанный диапазон.

Примечание. Вместо указания ссылку на диапазон можно указать Имя диапазона (т.е. ссылку на Именованный диапазон).

Нажмите ОК, Список заполнится элементами.

Теперь пользователь может выбрать требуемый месяц, но Список пока не способен вернуть выбранное значение в ячейку. О том, как связать Список с ячейкой читайте ниже.

Связываем Список с ячейкой

Как было сказано выше, все Элементы управления формы возвращают значение. Это значение помещается в ячейку определенную пользователем. Чтобы связать Элемент управления с ячейкой, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта. Появится диалоговое окно, выберите вкладку Элемент управления (если такая вкладка отсутствует, то Вы вставили Элемент ActiveX, а не Элемент управления формы, об этом см. выше).

В поле Связь с ячейкой нужно ввести ссылку на ячейку. Свяжем наш Список с ячейкой А1.

Необходимо убедиться, что установлен выбор только одинарного значения, т.к. только в этом случае Список будет возвращать значение в связанную ячейку (множественный выбор значений требует использования VBA). Нажмите ОК.

Существует и другой способ связать Элемент управления и ячейку: выделите правой клавишей мыши Элемент управления, в Строке формул введите =, затем кликните левой клавишей мыши на нужную ячейку, нажмите клавишу ENTER. Чтобы изменить ячейку, с которой связан Элемент управления, достаточно перетащить эту ячейку в нужное место, взяв за ее границу.

Использование Списка

Список удобен для выбора нужного значения из заранее подготовленного списка. Выбранное значение может быть использовано для вывода соответствующих значений из той же строки. Например, если в таблице продаж содержатся объемы продаж по месяцам (диапазон F2:G13 на рисунке ниже), то выбирая в Списке месяц, можно вывести соответствующий объем продаж (см. ячейку В3).

Необходимо помнить, что Список возвращает в связанную ячейку не сам элемент, а его позицию в списке (для апреля на картинке выше Список вернул значение 4). Поэтому, чтобы вывести выбранный месяц, потребуется формула =ИНДЕКС(F2:F13;B1) (ячейка В2).

Формула =ИНДЕКС(G2:G13;B1) позволяет вывести объем продаж для выбранного месяца (ячейка В3).

Условное форматирование использовано для отображения в таблице выбранного месяца и его продаж.

Имя Элемента управления

У каждого Элемента управления есть имя. Чтобы его узнать, нужно выделить Список, в Поле имя будет отображено его имя. Чтобы изменить имя Списка – введите в Поле имя новое имя Списка и нажмите клавишу ENTER. Также имя можно изменить в Области выделения ( Главная / Редактирование/ Найти и выделить/ Область выделения ).

Читайте также:  Error could not load dll prototype2engine dll

Зачем нам знать имя элемента управления? Если Вы не планируете управлять Списком из программы VBA, то имя может потребоваться только для настройки его отображения на листе. Об этом читайте ниже.

Прячем Список на листе

Включите Область выделения ( Главная / Редактирование/ Найти и выделить )

В Области выделения можно управлять отображением не только Элементов управления, но и других объектов на листе, например рисунков.

Нажмите на изображение глаза напротив имени объекта и объект исчезнет/ появится.

Поле со списком представляет собой сочетание текстового поля и раскрывающегося списка. Поле со списком компактнее обычного списка, однако для того чтобы отобразить список элементов, пользователь должен щелкнуть стрелку. Поле со списком следует использовать, когда требуется обеспечить возможность ввести в список или выбрать в нем только один элемент. В этом элементе управления отображается текущее значение. Этот элемент имеет много общего с элементом Список.

Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.

  • В MS EXCEL 2007 это можно сделать через меню Кнопка офис/ Параметры Excel/ Основные/ Показывать вкладку Разработчик на ленте .
  • В MS EXCEL 2010 это можно сделать так: Откройте вкладку Файл; Нажмите кнопку Параметры; Нажмите кнопку Настроить ленту; Выберите команду Настройка ленты и в разделе Основные вкладки установите флажок Разработчик.

Теперь вставить элемент управления можно через меню: Разработчик/ Элементы управления/ Вставить.

Обратите внимание, что в этом меню можно также вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.

Поле со списком (Combo box, Drop down) как, впрочем и все другие Элементы управления формы, возвращает только 1 числовое значение. См. файл примера .

Обзорную статью обо всех элементах управления формы можно прочитать здесь.

Вставка Поля со списком

Через меню Разработчик/ Элементы управления/ Вставить выберем левой клавишей мыши элемент Поле со списком (см. рисунок ниже).

После этого выпадающее меню закроется, а курсор вместо обычного толстого крестика

превратится в тонкий крестик.

Удерживая левую клавишу мыши проведите курсором вправо и немного вниз, элемент Поле со списком будет помещен на лист.

Выделение Поля со списком

Чтобы выделить Поле со списком нажмите и удерживайте клавишу CTRL, затем кликните левой клавишей на Поле со списком.

Перемещение Поля со списком и изменение его размеров

Если навести курсор на выделенный элемент Поле со списком (курсор примет форму 4-х направленных в разные стороны стрелок), затем нажать и удерживать левую кнопку мыши, то можно его переместить. Удерживая клавишу ALT можно выровнять Поле со списком по границам ячеек. Выделенный элемент также можно перемещать стрелками с клавиатуры.

Если навести курсор на углы прямоугольника или на маленькие кружки на границе, то можно изменить его размер.

Заполняем Поле со списком элементами

Заполним наше Поле со списком названиями месяцев. Для начала разместим названия месяцев на листе в диапазоне F2:F13.

Чтобы заполнить Поле со списком, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта. Появится диалоговое окно, выберите вкладку Элемент управления (если такая вкладка отсутствует, то Вы вставили Элемент ActiveX, а не Элемент управления формы, об этом см. выше).

Читайте также:  Mikrotik не работает dns static

Введите в поле Формировать список по диапазону ссылку на вышеуказанный диапазон.

Примечание. Вместо указания ссылку на диапазон можно указать Имя диапазона (т.е. ссылку на Именованный диапазон). Подробнее можно посмотреть в статье Выпадающий список в MS EXCEL на основе элемента управления формы.

Нажмите ОК, Поле со списком заполнится элементами.

Теперь пользователь может выбрать требуемый месяц, но Поле со списком пока не способно вернуть выбранное значение в ячейку. О том, как связать Поле со списком с ячейкой читайте ниже.

Связываем Поле со списком с ячейкой

Как было сказано выше, все Элементы управления формы возвращают значение. Это значение помещается в ячейку определенную пользователем. Чтобы связать Элемент управления с ячейкой, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта. Появится диалоговое окно, выберите вкладку Элемент управления (если такая вкладка отсутствует, то Вы вставили Элемент ActiveX, а не Элемент управления формы, об этом см. выше).

В поле Связь с ячейкой нужно ввести ссылку на ячейку. Свяжем наше Поле со списком с ячейкой А1.

Существует и другой способ связать Элемент управления и ячейку: выделите правой клавишей мыши Элемент управления, в Строке формул введите =, затем кликните левой клавишей мыши на нужную ячейку, нажмите клавишу ENTER. Чтобы изменить ячейку, с которой связан Элемент управления, достаточно перетащить эту ячейку в нужное место, взяв за ее границу.

Использование Поля со списком

Поле со списком удобно для выбора единственного значения из заранее подготовленного списка. Выбранное значение может быть использовано для вывода соответствующих значений из той же строки. Например, если в таблице продаж содержатся объемы продаж по месяцам (диапазон F2:G13 на рисунке ниже), то выбирая в Поле со списком месяц, можно вывести соответствующий объем продаж (см. ячейку В3).

Необходимо помнить, что Поле со списком возвращает в связанную ячейку не сам элемент, а его позицию в списке (для месяца Май на картинке выше Поле со списком вернуло значение 5). Поэтому, чтобы вывести выбранный месяц, потребуется формула =ИНДЕКС(F2:F13;B1) (ячейка В2).

Формула =ИНДЕКС(G2:G13;B1) позволяет вывести объем продаж для выбранного месяца (ячейка В3).

Условное форматирование использовано для отображения в таблице выбранного месяца и его продаж.

Имя Элемента управления

У каждого Элемента управления есть имя. Чтобы его узнать, нужно выделить Поле со списком, в Поле имя будет отображено его имя. Чтобы изменить имя Поля со списком – введите в Поле имя новое имя и нажмите клавишу ENTER. Также имя можно изменить в Области выделения ( Главная / Редактирование/ Найти и выделить/ Область выделения ).

Зачем нам знать имя элемента управления? Если Вы не планируете управлять Поля со списком из программы VBA, то имя может потребоваться только для настройки его отображения на листе. Об этом читайте ниже.

Прячем Поле со списком на листе

Включите Область выделения ( Главная / Редактирование/ Найти и выделить )

В Области выделения можно управлять отображением не только Элементов управления, но и других объектов на листе, например рисунков.

Нажмите на изображение глаза напротив имени объекта и объект исчезнет/ появится.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *