Выпадающий список в ячейке листа
Видео
У кого мало времени и нужно быстро ухватить суть — смотрим обучающее видео:
Кому интересны подробности и нюансы всех описанных способов — дальше по тексту.
Способ 1. Примитивный
Один щелчок правой кнопкой мыши по пустой ячейке под столбцом с данными, команда контекстного меню Выбрать из раскрывающегося списка (Choose from drop-down list) или нажать сочетание клавиш ALT+стрелка вниз. Способ не работает, если ячейку и столбец с данными отделяет хотя бы одна пустая строка или вам нужен товар, который еще ни разу не вводился выше:
Способ 2. Стандартный
- Выделите ячейки с данными, которые должны попасть в выпадающий список (например, наименованиями товаров).
- Если у вас Excel 2003 или старше — выберите в меню Вставка — Имя — Присвоить (Insert — Name — Define), если Excel 2007 или новее — откройте вкладку Формулы (Formulas) и воспользуйтесь кнопкой Диспетчер имен (Name Manager), затем Создать. Введите имя (можно любое, но обязательно без пробелов и начать с буквы!) для выделенного диапазона (например Товары). Нажмите ОК.
- Выделите ячейки (можно сразу несколько), в которых хотите получить выпадающий список и выберите в меню (на вкладке) Данные — Проверка (Data — Validation). Из выпадающего списка Тип данных (Allow) выберите вариант Список (List) и введите в строчку Источник (Source) знак равенства и имя диапазона (т.е. =Товары).
Нажмите ОК.
Все! Наслаждайтесь!
Важный нюанс. В качестве источника данных для списка может выступать и динамический именованный диапазон, например прайс-лист. Тогда при дописывании новых товаров к прайсу, они будут автоматически добавляться к выпадающему списку. Еще одним часто используемым трюком для таких списков является создание связанных выпадающих списков (когда содержимое одного списка меняется в зависимости от выбора в другом).
Способ 3. Элемент управления
Этот способ представляет собой вставку на лист нового объекта — элемента управления «поле со списком» с последующей привязкой его к диапазонам на листе. Для этого:
- В Excel 2007/2010 откройте вкладку Разработчик (Developer). В более ранних версиях — панель инструментов Формы (Forms) через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms). Если этой вкладки не видно, то нажмите кнопку Офис — Параметры Excel — флажок Отображать вкладку Разработчик на ленте (Office Button — Excel Options — Show Developer Tab in the Ribbon)
- Найдите значок выпадающего списка среди элементов управления форм (не ActiveX!). Ориентируйтесь по всплывающим подсказкам — Поле со списком:
Щелкните по значку и нарисуйте небольшой горизонтальный прямоугольник — будущий список. - Щелкните по нарисованному списку правой кнопкой мыши и выберите команду Формат объекта (Format control). В появившемся диалоговом окне задайте
- Формировать список по диапазону — выделите ячейки с наименованиями товаров, которые должны попасть в список
- Связь с ячейкой — укажите ячейку куда нужно выводить порядковый номер выбранного пользователем элемента.
- Количество строк списка — сколько строк показывать в выпадающем списке. По умолчанию — 8, но можно больше, чего не позволяет предыдущий способ.
После нажатия на ОК списком можно пользоваться.
Чтобы вместо порядкового номера элемента выводилось его название можно дополнительно использовать функцию ИНДЕКС (INDEX), которая умеет выводить содержимое нужной по счету ячейки из диапазона:
Способ 4. Элемент ActiveX
Этот способ частично напоминает предыдущий. Основное отличие в том, что на лист добавляется не элемент управления, а элемент ActiveX «Поле со списком» из раскрывающегося набора под кнопкой Вставить (Insert) с вкладки Разработчик (Developer):
Механизм добавления тот же — выбираем объект из списка и рисуем его на листе. А вот дальше начинаются серьезные отличия от предыдущего способа.
Во-первых, созданный выпадающий ActiveX список может находится в двух принципиально разных состояниях — режиме отладки, когда можно настраивать его параметры и свойства, двигать его по листу и менять размеры и — режиме ввода, когда единственное, что можно — выбирать из него данные. Переключение между этими режимами происходит с помощью кнопки Режим Конструктора (Design Mode) на вкладке Разработчик (Developer):
Если эта кнопка нажата, то мы можем настраивать параметры выпадающего списка, нажав соседнюю кнопку Свойства (Properties), которая откроет окно со списком всех возможных настроек для выделенного объекта:
Самые нужные и полезные свойства, которые можно и нужно настроить:
- ListFillRange — диапазон ячеек, откуда берутся данные для списка. Выделить мышью диапазон он не даст, надо просто вписать его руками с клавиатуры (например, Лист2!A1:A5)
- LinkedCell — связанная ячейка, куда будет выводиться выбранный из списка элемент
- ListRows — количество отображаемых строк
- Font — шрифт, размер, начертание (курсив, подчеркивание и т.д. кроме цвета)
- ForeColor и BackColor — цвет текста и фона, соответственно
Большим и жирным плюсом этого способа является возможность быстрого перехода к нужному элементу в списке при вводе первых букв с клавиатуры(!), чего нет у всех остальных способов. Приятным моментом, также, является возможность настройки визуального представления (цветов, шрифтов и т.д.)
При использовании этого способа, также возможно указывать в качестве ListFillRange не только одномерные диапазоны. Можно, например задать диапазон из двух столбцов и нескольких строк, указав дополнительно, что выводить нужно два столбца (свойство ColumnCount=2). Тогда можно получить весьма привлекательные результаты, окупающие все потраченные на дополнительные настройки усилия:
Итоговая сравнительная таблица всех способов
Способ 1. Примитивный | Способ 2. Стандартный | Способ 3. Элемент управления | Способ 4. Элемент ActiveX | |
Сложность | низкая | средняя | высокая | высокая |
Возможность настройки шрифта, цвета и т.д. | нет | нет | нет | да |
Количество отображаемых строк | всегда 8 | всегда 8 | любое | любое |
Быстрый поиск элемента по первым буквам | нет | нет | нет | да |
Необходимость использования дополнительной функции ИНДЕКС | нет | нет | да | нет |
Возможность создания связанных выпадающих списков | нет | да | нет | нет |
Ссылки по теме:
- Выпадающий список с данными из другого файла
- Создание зависимых выпадающих списков
- Автоматическое создание выпадающих списков надстройкой PLEX
- Выбор фото из выпадающего списка
- Автоматическое удаление уже использованных элементов из выпадающего списка
- Выпадающий список с автоматическим добавлением новых элементов
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Создание раскрывающегося списка
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Выпадающий список в Excel с подстановкой данных
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
Private Sub Worksheet_Change(ByVal Target As Range) Dim lReply As Long If Target.Cells.Count > 1 Then Exit Sub If Target.Address = "$C$2" Then If IsEmpty(Target) Then Exit Sub If WorksheetFunction.CountIf(Range("Деревья"), Target) = 0 Then lReply = MsgBox("Добавить введенное имя " & _ Target & " в выпадающий список?", vbYesNo + vbQuestion) If lReply = vbYes Then Range("Деревья").Cells(Range("Деревья").Rows.Count + 1, 1) = Target End If End If End If End Sub
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.
Выбор нескольких значений из выпадающего списка Excel
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Е2:Е9")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(0, 1)) = 0 Then Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Н2:К2")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(1, 0)) = 0 Then Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("C2:C5")) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & "," & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
Скачать пример выпадающего списка
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
Опубликовано 13 Июл 2013
Рубрика: Справочник Excel | 4 комментария
В статье «Расчет передачи винт-гайка» я обещал рассказать, как работает функция ИНДЕКС в Excel. Конечно, все желающие могут разобраться в этом самостоятельно, изучив формулы в вышеназванной статье и почитав об этой функции в Справке Excel и в Сети. Эта небольшая статья…
…написана для тех, кто не разобрался или не пожелал разбираться самостоятельно.
При создании расчетных прикладных программ в MS Excel и OOo Calc существует задача оптимизации и автоматизации ввода данных из справочников. Выбор и ввод информации из справочников позволяет минимизировать ошибки пользователя, возникающие при наборе данных на клавиатуре, существенно ускоряет работу, делает ее более комфортной, приятной и понятной. В качестве справочников очень часто используется набор одномерных и двухмерных таблиц, размещенных на одном рабочем листе с программой расчета или на других листах файла Excel.
Рассмотрим использование поля со списком и функции ИНДЕКС на примере.
Итак, есть в наличии таблица, например, перечень материалов для изготовления колеса червячной передачи с механическими характеристиками [σв] и [σт]. Необходимо из этой таблицы для выбранной пользователем марки бронзы скопировать значения предела прочности [σв] и предела текучести [σт] в ячейки Excel, где расположена расчетная программа. То есть, необходимо реализовать следующий алгоритм: пользователь программы выбирает материал для червячного колеса… – и всё!!! После выбора материала копии значений [σв] и [σт], соответствующие выбранной бронзе, копируются из таблицы в ячейки расчетного модуля программы автоматически!
На представленном снимке экрана изображен пример с результатом выполнения вышеописанного алгоритма.
Пройдем по шагам весь процесс:
1. Создаем новый файл Excel — pole-so-spiskom-i-funktsiya-indeks-v-excel.xls.
2. Размещаем на листе базу данных – таблицу с заголовком в область A1:C9.
3. Делаем соответствующие оформительские записи в расчетном блоке в ячейках A12, A13, A14, C13, C14 и вписываем заголовок в объединенные ячейки A11, B11, C11.
4. Активируем, если не активирована, панель инструментов «Формы». Для этого заходим в закладки «Вид» — «Панели инструментов» — «Формы» и ставим «галочку».
5. На панели инструментов «Формы» выбираем элемент «Поле со списком» и размещаем его над ячейками B12 и C12.
6. Делаем щелчок правой кнопкой мыши на элементе «Поле со списком» и в выпавшем контекстном меню выбираем «Формат объекта».
7. В появившемся окне «Формат элемента управления» переходим на вкладку «Элемент управления».
8. Формируем список по диапазону $A$5:$A$9.
9. Устанавливаем связь с ячейкой $A$3.
10. Изменяем количество строк списка с 8 на 5 – по количеству строк в базе.
11. Ставим галочку внизу окна – включаем объемное затенение. Так элемент выглядит симпатичнее.
12. Нажимаем на кнопку «ОК» и закрываем окно «Форматирование объекта».
13. Проверяем, как работает «Поле со списком». Для этого нажимаем на кнопку справа «Поля…» и в «выпавшем» списке выбираем, например, четвертую запись – БрО5Ц5С5 (песч. форма). После щелчка левой кнопкой мыши на выбранном элементе он появляется в окошке, а полный список «сворачивается» (исчезает).
Обращаю ваше внимание, что после сделанного нами выбора в ячейке A3 появилось число 4. Это число показывает порядковый номер выбранной записи в «Поле со списком» и появилось оно потому, что именно с этой ячейкой в шаге №9 мы установили связь.
Материал для червячного колеса мы выбрали и видим его в установленном над ячейками B12 и C12 элементе «Поле со списком». Теперь выведем значения [σв] и [σт] для выбранной бронзы в ячейки B13 и B14. Для этого запишем в эти ячейки формулы:
14. В ячейку B13: =ИНДЕКС(B5:B9;A3)=150
15. В ячейку B14: =ИНДЕКС(C5:C9;A3)=80
Теперь при выборе из выпадающего списка любого материала функция ИНДЕКС тут же выведет в ячейки B13 и B14 соответствующие этому материалу значения предела прочности [σв] и предела текучести [σт]. Эти значения могут участвовать в дальнейших расчетах, подставляться в формулы в качестве исходных данных.
Одним щелчком мыши мы заполняем сразу три строки исходных данных некой расчетной программы, а если исходная таблица будет с большим количеством строк и столбцов, то ускорение и упрощение работы пользователя становятся очень существенными.
На этом – всё о совместном использовании функции ИНДЕКС и элемента «Поле со списком» из панели инструментов «Формы» для обеспечения доступа к базе данных в виде двухмерной таблицы при написании расчетных программ.
Гуру в Excel расскажут вам, возможно, массу других «более правильных» и простых способов решения подобных задач. Но я, однажды решив эту задачу описанным выше приемом, счел для себя лишним продолжать поиски других путей решения, так как результат меня полностью удовлетворяет вот уже более десяти лет.
Все описанные действия выполнялись в Excel-2003. Для более новых версий программы действия будут похожими – думаю, разберетесь. В OOo Calc аналогом функции ИНДЕКС MS Excel является функция index.
Ссылка на скачивание файла: pole-so-spiskom-i-funktsiya-indeks-v-excel (xls 31,0KB).
Другие статьи автора блога
На главную
Статьи с близкой тематикой
Отзывы
Я собираюсь вам рассказать о фантастически полезном и эффектном приёме. Это одна из самых интересных вещей, которую мне доводилось видеть в Excel. Кроме того, она достаточно легко реализуется. Если вы разберётесь, как она работает, то вы сразу узнаете об Excel необычно много. Я постараюсь рассказать всё максимально подробно, последовательно и внятно.
Выпадающий список с контекстным поиском
Итак, речь пойдёт о выпадающем списке (так называемый combo box), в который встроена возможность динамического поиска по подстроке, которую пользователь вводит с клавиатуры. Посмотрите пример, в котором мы имеем топ 300 крупнейших городов России. На анимированной иллюстрации видно, как мы динамически сужаем список выбора, вводя подстроку «кр» или «ниж», экономя огромное количество времени. Более того, список меняется после ввода каждого нового символа! Выглядит чрезвычайно привлекательно и профессионально, не так ли? Давайте разбираться, как это устроено.
Файл примера
Скачать
Пошаговая инструкция
Предварительные замечания
В файле примера выпадающий список с поиском реализован сразу в двух вариантах: для обычного диапазона (лист Range) и для умной таблицы (лист Table). Мы будим эти варианты обсуждать одновременно, отмечая их различия.
Шаг 1. Готовим таблицу для списка
Подготовьте таблицу с четырьмя колонками: Город (или то, что вам нужно), Статус, Индекс, Фильтр. Заполните столбец Город значениями. В остальных трёх колонках будут формулы, которые мы обсудим ниже. Я всем рекомендую использовать умную таблицу, так как это значительно проще.
Шаг 2. Формулы для столбца Статус
На примере ячейки F2 рассмотрим формулу, аналогичную для всего столбца Статус (столбец F). Из F2 формулу можно протягивать вниз до конца, а в случае умной таблицы Excel это сделает за вас. Это также относится ко всем формулам, которые мы будем обсуждать в этой статье.
$B$2 — ячейка, с которой будет связан выпадающий список (добавляется на шаге 6). Что значит связано? Всё, что вы введёте в выпадающий список, тут же отразится в ячейке B2.
Формула ПОИСК вернёт ошибку, если содержимое B2 не найдено в $E2. ЕОШИБКА перехватит ошибку и вернёт ИСТИНА, если действительно была ошибка, и — ЛОЖЬ, если строка таки была найдена. Функция НЕ делает из истины ложь и наоборот (инверсирует результат). Таким образом, мы получим в этом столбце ИСТИНА, если подстрока найдена в текущем городе, и наоборот. Обратите внимание, что пустая подстрока содержится в любой строке, поэтому все ячейки столбца Статус имеют значения ИСТИНА, когда мы не ввели ещё ничего в B2.
Обычный диапазон | Умная таблица |
=НЕ( ЕОШИБКА( ПОИСК( $B$2; $E2) ) )или =NOT( ISERROR( SEARCH( $B$2; $E2) ) ) |
=НЕ( ЕОШИБКА( ПОИСК( $B$2; [@Город]) ) )или =NOT( ISERROR( SEARCH( $B$2; [@Город]) ) )[@Город] — на языке структурных формул умных таблиц это ссылка на ячейку столбца Город в той же строке, в которой находится сама формула. Поскольку ссылка идёт внутри таблицы, то имя самой таблицы в формуле можно не использовать. В остальном всё — тоже самое. |
Шаг 3. Формула для столбца Индекс
Если B2 содержит подстроку поиска, то в столбце Статус не все ячейки примут значение ИСТИНА. Статус ИСТИНА будет только там, в чьи названия городов входит соответствующая подстрока. А в столбце Индекс мы рассчитываем номер по порядку для всех строк, которые содержат искомую подстроку. Например, на рисунке ниже B2 содержит «ни», что заставляет столбец Статус быть истинным у строк с городами Нижний Новгород, Калининград, Магнитогорск и т.д., а в столбце Индекс мы начинаем считать факты срабатываний в F: Нижний Новгород — первое срабатывание, Калининград — второе и так далее.
Функция ЕСЛИ отсекает все значения в F, которые не равны ИСТИНА. Функция СЧЁТЕСЛИ подсчитывает количество значений ИСТИНА в F.
Обычный диапазон | Умная таблица |
=ЕСЛИ( $F2; СЧЁТЕСЛИ( $F$2:$F2; ИСТИНА ); «»)или =IF( $F2; COUNTIF( $F$2:$F2; TRUE ); «») |
=ЕСЛИ( [@Статус]; СЧЁТЕСЛИ( $F$2:[@Статус]; ИСТИНА ); «»)или =IF( [@Статус]; COUNTIF( $F$2:[@Статус]; TRUE ); «») |
Обратите внимание, что диапазон условия в СЧЁТЕСЛИ введен скользящий — вторая координата не закреплена — и во время протягивания она растёт пропорционально таблице. За счёт этого трюка мы получаем механизм подсчёта значения ИСТИНА. Например, 6-я строка будет подсчитывать ИСТИНУ по диапазону $F$2:$F6 (там одно значение — от Нижнего Новгорода), а 41-я строка будет подсчитывать ИСТИНУ уже по диапазону $F$2:$F41 (а там уже 2 значения — от Нижнего Новгорода и от Калининграда). Вот суть механизма. Это полезный приём, который стоит запомнить.
Шаг 4. Формула для столбца Фильтр
Теперь наша задача, опираясь на столбец Индекс, сформировать в столбце H отфильтрованный список городов, который необходимо показывать в выпадающем списке.
Обычный диапазон | Умная таблица |
=ЕСЛИОШИБКА( ИНДЕКС( стлГород; ПОИСКПОЗ( ЧСТРОК($G$2:$G2); стлИндекс; 0) ); «»)или =IFERROR( INDEX( стлГород; MATCH( ROWS($G$2:$G2); стлИндекс; 0) ); «» )Обратите внимание на динамический именованный диапазон стлГород и стлИндекс, которые мы вынуждены создавать для случая диапазона, чтобы придать решению должный уровень универсальности. Техника, по которой созданы эти именованные диапазоны разобрана тут. |
=ЕСЛИОШИБКА( ИНДЕКС( [Город]; ПОИСКПОЗ( ЧСТРОК($G$2:[@Индекс]); [Индекс]; 0) ); «»)или =IFERROR( INDEX( [Город]; MATCH( ROWS($G$2:[@Индекс]); [Индекс]; 0) ); «» )Не путайте: [Индекс] — ссылка на весь столбец, а [@Индекс] — ссылка на ячейку из этого столбца в текущей строке. Никакие дополнительные именованные диапазоны нам создавать нет никакой необходимости, так как мы пользуемся встроенным в умные таблицы сервисом при ссылке на столбцы. |
Формула ЧСТРОК($G$2:$G2) используется для генерации последовательных номеров от 1 (для второй строки) до N (в строке N+1), равному количеству найденных подстрок. Просто генерируется диапазон соответствующего размера, а формула ЧСТРОК возвращает его высоту в строках.
Формула ПОИСКПОЗ ищет номер реальной строки, содержащий соответствующий индекс. Например, в столбце Фильтр мы видим Магнитогорск на третьей позиции, но в реальности он взят из E45, так как в G45 стоит цифра 3, которую мы и нашли через ПОИСКПОЗ. То есть ПОИСКПОЗ сказал нам, что Магнитогорск находится в 45-й строке, а извлекли мы его оттуда уже при помощи формулы ИНДЕКС.
Если же при извлечении возникает ошибка (текущая строка находится ниже строки N+1), то формула возвращает пустую строку. За это отвечает ЕСЛИОШИБКА.
Шаг 5. Создание именованных диапазонов
Обычный диапазон | Умная таблица |
Именованный диапазон стлГород =Range!$E$2:ИНДЕКС( Range!$E:$E; СЧЁТЗ(Range!$E:$E) )или =Range!$E$2:INDEX( Range!$E:$E; COUNTA(Range!$E:$E) )Именованный диапазон стлИндекс =Range!$G$2:ИНДЕКС( Range!$G:$G; СЧЁТЗ(Range!$G:$G) )или =Range!$G$2:INDEX( Range!$G:$G; COUNTA(Range!$G:$G) )Именованный диапазон стлФильтр =Range!$H$2:ИНДЕКС( Range!$H:$H; СЧЁТЗ(Range!$H:$H) )или =Range!$H$2:INDEX( Range!$H:$H; COUNTA(Range!$H:$H) )Именованный диапазон DDL_Range =Range!$H$2:ИНДЕКС( стлФильтр; МАКС(стлИндекс) )или =Range!$H$2:INDEX( стлФильтр; MAX(стлИндекс) ) |
Именованный диапазон DDL_Table =Table!$H$2:ИНДЕКС( tblData[Фильтр]; МАКС(tblData[Индекс]) )или =Table!$H$2:INDEX( tblData[Фильтр]; MAX(tblData[Индекс]) )tblData — имя умной таблицы Именованный диапазон DDL_Fake =DDL_TableИменованный диапазон DDL_Fake, как видите, напрямую ссылается на DDL_Table и нужен для того, чтобы обмануть элемент управления ComboBox21, так как он не умеет работать с ИД, ссылающимися на умную таблицу. |
DDL_Range и DDL_Table это диапазоны, которые формируются на базе значений столбца Фильтр без пустых строк. Эти ИД указываются в свойствах ListFillRange выпадающих списков (DDL_Table — через DDL_Fake).
Шаг 6. Вставляем Combo box на лист
На ленте Разработчик в группе Элементы управления через кнопку Вставить выберите элемент управления ActiveX Поле со списком и вставьте его на лист.
Далее:
-
Нажмите кнопку Режим конструктора (предварительно убедитесь, что вставленный элемент управления активен)
-
Нажмите кнопку Свойства на ленте
-
Отредактируйте свойства в соответствии с рисунком:
- Поле AutoWordSelect должно быть равно False
- Поле LinkedCell сделайте равным B2
- Поле ListFillRange должно быть либо DDL_Range для обычного диапазона (лист Range), либо DDL_Fake для умной таблицы (лист Table).
- Поле MatchEntry = 2 — fmMatchEntryNone
Шаг 7. Модификация события Change для элементов Поле со списком
Ну и изюминка нашего приёма, то, что заставляет Поле со списком показывать нам обновленный список выбора после каждого изменения строки ввода, — событие Change этого элемента управления, которое переприсваивает свойство ListFillRange и вызывает событие раскрытия списка DropDown.
Вот и всё!
P.S. К сожалению, не я придумал такую крутую штуку. Это сделал индийский товарищ Sumit Bansal, решение которого я лишь немного оптимизировал (исправил VBA событие — у него оно почему-то было привязано к GotFocus, что всё портило, и сократил формулы).
Читайте также:
-
Создание выпадающего списка в ячейке
-
Каскадные выпадающие списки
-
Универсальные динамические каскадные выпадающие списки без VBA!
-
Каскадные комбинированные списки
-
Динамические каскадные списки на основе сводных таблиц
Microsoft Excel: выпадающие списки
Смотрите также мыши, в контекстном ячейке позволяет пользователю для списка. ВыделитьФормат объекта (Format control)Товары на «свои». Списки списке названию. Если Target As Range)Вручную через «точку-с-запятой» в есть множество нужных (критерий) проверки со
выделили диапазон сверху – это будет
Создание дополнительного списка
Есть ещё одинВо второй ячейке тоже нам, прежде всего,При работе в программе меню выберите « выбирать для ввода
мышью диапазон он. В появившемся диалоговом). Нажмите создаем классическим способом. «Деревья», то «граб», Dim lReply As поле «Источник». функций. Но самая, строкой типа данных, вниз, п.э. поставим первый выпадающий список. вид выпадающего списка запускаем окно проверки нужно будет их Microsoft Excel в
Присвоить имя только заданные значения. не даст, надо окне задайтеОК А всю остальную «дуб» и т.д.
Long If Target.Cells.CountВвести значения заранее. А пожалуй, интересная – где и выбираем в формуле адресКопируем это адрес. Нажимаем в Excel без данных, но в включить. Для этого, таблицах с повторяющимися» Это особенно удобно
просто вписать егоФормировать список по диапазону. работу будут делать Вводим в поле > 1 Then в качестве источника распространение параметров для
значение «Список». В ячейки Е1. Формула клавишу «Esc» - дополнительного списка. Смотрите графе «Источник» вводим переходим во вкладку данными, очень удобноДля Excel версий при работе с руками с клавиатуры- выделите ячейкиВыделите ячейки (можно сразу
макросы. «Источник» функцию вида Exit Sub If указать диапазон ячеек ввода с одинаковыми принципе, остальные поля получилась такая. так выходим из статью «Раскрывающийся список
Создание выпадающего списка с помощью инструментов разработчика
функцию «=ДВССЫЛ» и «Файл» программы Excel, использовать выпадающий список. ниже 2007 те файлами структурированными как (например, Лист2!A1:A5) с наименованиями товаров, несколько), в которыхНа вкладке «Разработчик» находим =ДВССЫЛ(E3). E3 – Target.Address = «$C$2″ со списком. условиями. Применяется она пока можно оставить
=ДВССЫЛ(«Товар[«&$E1&»]») ячейки. в Excel для адрес первой ячейки. а затем кликаем С его помощью
же действия выглядят база данных, когдаLinkedCell которые должны попасть хотите получить выпадающий инструмент «Вставить» – ячейка с именем Then If IsEmpty(Target)Назначить имя для диапазона в тех случаях, без изменений. ЧутьНажимаем «ОК». Получилось так.Теперь выделяем ячейки, заполнения таблицы».
Например, =ДВССЫЛ($B3). по надписи «Параметры». можно просто выбирать так: ввод несоответствующего значения
- связанная ячейка, в список список и выберите «ActiveX». Здесь нам
первого диапазона. Then Exit Sub значений и в когда на листе ниже расположена строка,Можно выпадающие списки сделать в которые будем
Здесь мы рассмотримКак видим, список создан.В открывшемся окне переходим нужные параметры изВторой
в поле может куда будет выводиться
Связь с ячейкой в меню (на нужна кнопка «ПолеБывает, когда из раскрывающегося If WorksheetFunction.CountIf(Range(«Деревья»), Target) поле источник вписать имеется слишком много
Связанные списки
в которой будет на другом листе, устанавливать выпадающий список. другой вариант,Теперь, чтобы и нижние в подраздел «Настройка сформированного меню. Давайте: воспользуйтесь привести к нежелаемым выбранный из списка- укажите ячейку вкладке) со списком» (ориентируемся списка необходимо выбрать = 0 Then это имя. проверок и их
вводиться источник значений. тогда в формулу Мы выделили диапазонкак легко ячейки приобрели те ленты», и ставим
выясним, как сделатьДиспетчером имён результатам. элемент куда нужно выводить
Данные — Проверка (Data на всплывающие подсказки). сразу несколько элементов. lReply = MsgBox(«ДобавитьЛюбой из вариантов даст
условия нужно поменять. Вот он-то нас перед адресом ячейки Е1:Е4 (окрашен всделать связанные выпадающие списки же свойства, как флажок напротив значения
раскрывающийся список различными
(Excel версий вышеИтак, для созданияListRows порядковый номер выбранного — Validation)Щелкаем по значку – Рассмотрим пути реализации введенное имя «
такой результат.
Для этого в и интересует. напишем название листа желтый цвет). Вставляем в Excel и в предыдущий «Разработчик». Жмем на способами. 2003 — вкладка выпадающего списка необходимо:- количество отображаемых пользователем элемента.. Из выпадающего списка
становится активным «Режим
lumpics.ru
Как сделать выпадающий список в Excel без списка.
задачи. & _ Target разделе проверки данных,Начнем с ручного ввода и поставим восклицательный выпадающий список как. Ещё один способ раз, выделяем верхние кнопку «OK».Скачать последнюю версию «
1. строкКоличество строк спискаТип данных (Allow) конструктора». Рисуем курсоромСоздаем стандартный список с
& » вНеобходимо сделать раскрывающийся список который использовался во значений. Если говорить знак. обычно. Нажимаем «Проверка сделать раскрывающиеся списки, ячейки, и приПосле этого, на ленте ExcelФормулыСоздать список значений,Font- сколько строквыберите вариант (он становится «крестиком») помощью инструмента «Проверка выпадающий список?», vbYesNo со значениями из
всех предыдущих методах, о том, какКак еще можно
данных», выбираем «Список». смотрите в статье нажатой клавише мышки появляется вкладка сСамым удобным, и одновременно» — группа « которые будут предоставляться- шрифт, размер, показывать в выпадающем
Список (List) небольшой прямоугольник – данных». Добавляем в + vbQuestion) If динамического диапазона. Если обращаемся к вкладке в Excel сделать применить готовые шаблоны В диалоговом окне «Связанные выпадающие списки
«протаскиваем» вниз. названием «Разработчик», куда наиболее функциональным способомОпределённые имена на выбор пользователю начертание (курсив, подчеркивание списке. По умолчанию
excel-office.ru
Как сделать связанные выпадающие списки в Excel легко.
и введите в место будущего списка. исходный код листа lReply = vbYes вносятся изменения в «Сообщения для ввода». выпадающие списки таким таблиц Excel, читайте «Проверка вводимых значений» в Excel».
Всё, таблица создана. мы и перемещаемся. создания выпадающего списка,»), который в любой (в нашем примере и т.д. кроме — 8, но строчкуЖмем «Свойства» – открывается
готовый макрос. Как Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count + имеющийся диапазон (добавляются Тут можно ввести методом, решение состоит в статье «Готовые в строку «Источник»Способ, который мы
Мы разобрались, как сделать Чертим в Microsoft является метод, основанный
версии Excel вызывается это диапазон цвета) можно больше, чегоИсточник (Source) перечень настроек. это делать, описано 1, 1) = или удаляются данные), подсказку, которая отобразится в том, чтобы таблицы Excel». вставляем скопированную формулу
сейчас рассмотрим удобен выпадающий список в
Excel список, который на построении отдельного сочетанием клавишM1:M3ForeColor не позволяет предыдущийзнак равенства иВписываем диапазон в строку выше. С его Target End If они автоматически отражаются при активации соответствующей
в вышеуказанном полеКак сделать связанный шапки таблицы. Но тем, что при Экселе. В программе должен стать выпадающим списка данных.Ctrl+F3), далее выбрать ячейкуи способ. имя диапазона (т.е. ListFillRange (руками). Ячейку,
помощью справа от End If End в раскрывающемся списке. ячейки. Сообщение можно прописывать значения самостоятельно. выпадающий список, фамилии формулу нужно доработать.
добавлении строк или можно создавать, как
меню. Затем, кликаемПрежде всего, делаем таблицу-заготовку,. в которой будетBackColorПосле нажатия на=Товары куда будет выводиться выпадающего списка будут If End Sub
Выделяем диапазон для выпадающего и отключить, просто При этом стоит в котором можно Допишем впереди – столбцов в таблицу, простые выпадающие списки, на Ленте на где собираемся использоватьКакой бы способ выпадающий список (в- цвет текстаОК). выбранное значение – добавляться выбранные значения.PrivateСохраняем, установив тип файла списка. В главном убрав галочку с
обратить внимание, что
выбирать по алфавиту,
ДВССЫЛ, поставим кавычки все диапазоны в так и зависимые. значок «Вставить», и выпадающее меню, а Вы не выбрали нашем примере это и фона, соответственносписком можно пользоваться.Нажмите в строку LinkedCell. Sub Worksheet_Change(ByVal Target «с поддержкой макросов». меню находим инструмент
пункта его показа. для русскоязычной локализации смотрите в статье и круглые скобки. таблице увеличиваются автоматически,
При этом, можно среди появившихся элементов также делаем отдельным в итоге Вы ячейкаБольшим и жирным плюсомЧтобы вместо порядкового номераОК Для изменения шрифта
As Range) OnПереходим на лист со «Форматировать как таблицу». На вкладке об вводить значения нужно «Связанный выпадающий список Получилась такая формула. не нужно их использовать различные методы в группе «Элемент списком данные, которые должны будете ввестиК1 этого способа является элемента выводилось его
. и размера – Error Resume Next списком. Вкладка «Разработчик»Откроются стили. Выбираем любой. ошибке можно ввести через точку с в Excel по=ДВССЫЛ(«Товар[#Заголовки]») настраивать. создания. Выбор зависит
ActiveX» выбираем «Поле в будущем включим имя (я назвал), потом зайти во возможность быстрого перехода название можно дополнительноВсе! Наслаждайтесь! Font. If Not Intersect(Target, — «Код» - Для решения нашей предупреждение о неправильности запятой. Для английского алфавиту».
Нажимаем «ОК».
Остается просто вносить
от конкретного предназначения со списком». в это меню. диапазон со списком вкладку « к нужному элементу использовать функцию
Важный нюанс. В качествеСкачать пример выпадающего списка Range(«Е2:Е9»)) Is Nothing «Макросы». Сочетание клавиш задачи дизайн не
вводимых данных. Это задания применяется толькоМногие пользователи стандартного офисногоТак как в самой нужные данные в списка, целей егоКликаем по месту, где Эти данные можно
excel-office.ru
Как в Excel сделать выпадающие списки: простейшие методы
listДанные в списке приИНДЕКС (INDEX) источника данных дляПри вводе первых букв And Target.Cells.Count = для быстрого вызова имеет значения. Наличие пригодится при отсутствии запятая. Неудобство такого пакета от Microsoft таблице с данными таблицу и все. создания, области применения, должна быть ячейка размещать как на) и адрес самого
Для чего нужны выпадающие списки?
», группа « вводе первых букв, которая умеет выводить списка может выступать с клавиатуры высвечиваются 1 Then Application.EnableEvents – Alt + заголовка (шапки) важно.
жестких условий контроля метода очевидно: это
- явно недооценивают табличный диапазоны динамичные, то
- Остальное сделает сама и т.д.
со списком. Как этом же листе диапазона (в нашемРабота с данными с клавиатуры(!), чего содержимое нужной по и динамический именованный подходящие элементы. И = False If F8. Выбираем нужное В нашем примере
Как в Excel сделать выпадающие списки: общая методика
значений или в занимает слишком много редактор Excel. Выпадающий если мы добавим таблица — изменитАвтор: Максим Тютюшев видите, форма списка документа, так и примере это», кнопка « нет у всех счету ячейки из диапазон, например прайс-лист. это далеко не Len(Target.Offset(0, 1)) = имя. Нажимаем «Выполнить». это ячейка А1 случае их частичного времени.
список в ячейке, столбец, это слово диапазоны и внесетКак сделать выпадающие появилась. на другом, если’2′!$A$1:$A$3Проверка данных остальных способов. Приятным диапазона: Тогда при дописывании все приятные моменты 0 Then Target.Offset(0,
Выпадающий список в Excel 2007: ручной ввод данных
Когда мы введем в со словом «Деревья». изменения.Во втором случае можно экономящий время, затрачиваемое автоматически увеличится диапазон новые данные в списки в Excel,Затем мы перемещаемся в вы не хотите,)» моментом, также, являетсяЭтот способ частично напоминает новых товаров к данного инструмента. Здесь 1) = Target пустую ячейку выпадающего То есть нужноКак видно из всего
Источник из диапазона
использовать и более на ввод или таблицы и слово соответствующие выпадающие списки. смотрите в статье «Режим конструктора». Жмем чтобы обе таблице6.Для Excel версий возможность настройки визуального предыдущий. Основное отличие прайсу, они будут можно настраивать визуальное Else Target.End(xlToRight).Offset(0, 1) списка новое наименование, выбрать стиль таблицы вышесказанного, проблема того, быстрое решение. Например, поиск данных, в
отобразится в выпадающемУ нас есть «Выпидающий список в на кнопку «Свойства располагались визуально вместе.Теперь в ячейке ниже 2007 те представления (цветов, шрифтов в том, что
Ввод именованных диапазонов (списков)
автоматически добавляться к представление информации, указывать = Target End появится сообщение: «Добавить со строкой заголовка. как в Excel нам нужно ввести нем создается за списке. Например, добавим такие данные на Excel». Здесь рассмотрим, элемента управления».Выделяем данные, которые планируем с выпадающим списком же действия выглядят и т.д.) на лист добавляется выпадающему списку. Еще в качестве источника If Target.ClearContents Application.EnableEvents введенное имя баобаб Получаем следующий вид сделать выпадающие списки, все значения в пару секунд, в слово «плащ». Получилось листе.как сделать выпадающий список
Управление параметрами списка
Открывается окно свойств элемента занести в раскрывающийся укажите в поле так:При использовании этого способа, не элемент управления, одним часто используемым сразу два столбца. = True End в выпадающий список?». диапазона: разрешается не так ячейках: начиная с отличие от Access, так.Сделаем из этих данных в Excel без управления. В графе список. Кликаем правой «Источник» имя диапазона2. также возможно указывать а элемент ActiveX трюком для такихУ кого мало времени If End SubНажмем «Да» и добавитьсяСтавим курсор в ячейку, уж и сложно. A2 и заканчивая где эта процедураВторой уровень связанных выпадающих форматированную таблицу Excel. списка «ListFillRange» вручную через
Заключение
кнопкой мыши, и7.Выбираем « в качестве»Поле со списком» списков является создание и нужно быстроЧтобы выбранные значения показывались еще одна строка где будет находиться Вопрос в другом: A4. В строке сложнее. Ниже будут списков в Делаем активной любую. Этот способ подойдет, двоеточие прописываем диапазон в контекстном менюГотово!Тип данныхListFillRangeиз раскрывающегося набора связанных выпадающих списков ухватить суть - снизу, вставляем другой со значением «баобаб». выпадающий список. Открываем какой метод использовать? указания источника ставим приведены три основных
Excel.
fb.ru
Выпадающий список в Excel с помощью инструментов или макросов
ячейку этих данных. когда нужно быстро ячеек таблицы, данные выбираем пункт «ПрисвоитьДля полноты картины» -«не только одномерные
под кнопкой (когда содержимое одного смотрим обучающее видео: код обработчика.Private SubКогда значения для выпадающего параметры инструмента «Проверка Если данных не курсор. А затем метода по созданиюСначала выберем из
Создание раскрывающегося списка
Заходим на закладку вставить небольшой выпадающий которой будут формировать имя…». добавлю, что список
Список диапазоны. Можно, напримерВставить (Insert) списка меняется в
- Кому интересны подробности и Worksheet_Change(ByVal Target As
- списка расположены на данных» (выше описан много, подойдет простейший просто выделяем нужный
- таких списков и выпадающего списка в «Главная», в разделе список.
пункты выпадающего списка.Открывается форма создания имени.
значений можно ввести
Выпадающий список в Excel с подстановкой данных
» и указываем диапазон задать диапазон изс вкладки зависимости от выбора нюансы всех описанных Range) On Error другом листе или путь). В поле
- вариант. Второй способ диапазон. Программа сама некоторые важные параметры ячейке Е1, чтобы
- «Стили» нажимаем кнопкуНапример, нам нужноДалее, кликаем по ячейке, В поле «Имя» и непосредственно в списка двух столбцов иРазработчик (Developer) в другом). способов — дальше Resume Next If в другой книге, «Источник» прописываем такую
- является более распространенным. поставит знак равенства, управления ими. эта ячейка не «Форматировать как таблицу» установить в ячейке и в контекстном вписываем любое удобное
проверку данных, не3. нескольких строк, указав
:Этот способ представляет собой
по тексту.
Not Intersect(Target, Range(«Н2:К2»)) стандартный способ не функцию:
Рядовому пользователю он но пропишет значениеСами списки этого типа была пустой. и выбираем первый выпадающий список с меню последовательно переходим
- наименование, по которому прибегая к вынесениюЕсли есть желание дополнительно, что выводитьМеханизм добавления тот же
- вставку на листОдин щелчок правой кнопкой Is Nothing And работает. Решить задачуПротестируем. Вот наша таблица
- подойдет лучше всего. не в виде предполагают широкую областьЗатем, как в шаблон таблицы. буквами или цифрами, по пунктам «Объект
- будем узнавать данный значений на лист подсказать пользователю о нужно два столбца — выбираем объект нового объекта - мыши по пустой Target.Cells.Count = 1 можно с помощью со списком на Но если знания «(A2:A4)», как это применения. В одной первом случае, ставимОбязательно ставим галочку у которые не будут ComboBox» и «Edit». список. Но, это (это так же его действиях, то (свойство из списка и элемента управления «поле ячейке под столбцом Then Application.EnableEvents = функции ДВССЫЛ: она одном листе: программы у юзера делается в соответствующей ячейке можно вводить в пустой ячейке строки «Таблица с меняться.
- Выпадающий список в Microsoft наименование должно начинаться
- позволит работать со переходим во вкладкуColumnCount рисуем его на со списком» с с данными, команда False If Len(Target.Offset(1, сформирует правильную ссылку
Добавим в таблицу новое не ограничиваются только строке формул, а не одно значение, (не в таблице) заголовками».
Нажимаем на ячейку Excel готов. обязательно с буквы.
Выпадающий список в Excel с данными с другого листа/файла
списком на любом «=2). Тогда можно получить листе. А вот последующей привязкой его контекстного меню 0)) = 0 на внешний источник значение «елка». использованием простейших функций, в варианте «=$A$2:$A$4».
- как это делается знак «равно». ВыделяемНажимаем «ОК». Получилась такая
- А1. Заходим наЧтобы сделать и другие Можно также вписать
листе). Делается этоСообщение для ввода весьма привлекательные результаты, дальше начинаются серьезные к диапазонам наВыбрать из раскрывающегося списка Then Target.Offset(1, 0) информации.Теперь удалим значение «береза». здесь оптимальным станет
Как сделать зависимые выпадающие списки
Метод действительно хорош своей
по умолчанию, а данные столбца А таблица. закладку «Данные», в ячейки с выпадающим примечание, но это так:» и заполняем заголовок
- окупающие все потраченные отличия от предыдущего листе. Для этого:
- (Choose from drop-down list) = Target ElseДелаем активной ячейку, кудаОсуществить задуманное нам помогла создание именованных списков
- быстротой вставки значений. несколько. (без названия столбца).Сама эта таблица уже разделе «Работа с списком, просто становимся не обязательно. ЖмемТо есть вручную, и текст сообщения на дополнительные настройки способа.В Excel 2007/2010 откройтеили нажать сочетание
Выбор нескольких значений из выпадающего списка Excel
Target.End(xlDown).Offset(1, 0) = хотим поместить раскрывающийся «умная таблица», которая с последующим вводом Но в качестве
- Вариантов ввода может быть У нас - имеет имя. Смотрим данными» нажимаем кнопку на нижний правый на кнопку «OK». черезкоторое будет появляться усилия:Во-первых, созданный выпадающий ActiveX вкладку клавиш Target End If список. легка «расширяется», меняется. диапазонов данных именно самого главного недостатка два: это диапазон А2:А4. в Диспетчере имен. «Проверка данных». В край готовой ячейки,Переходим во вкладку «Данные»; при выборе ячейкиСпособ 1.
- список может находитсяРазработчик (Developer)ALT+стрелка вниз Target.ClearContents Application.EnableEvents =Открываем параметры проверки данных.Теперь сделаем так, чтобы из них. Поскольку можно отметить невозможностьТолько значения из созданногоКопируем формулу выделенногоНазвание этой таблицы можно появившемся диалоговом окне нажимаем кнопку мыши, программы Microsoft Excel.(точка с запятой) вводим с выпадающим спискомПримитивный в двух принципиально. В более ранних
- . Способ не работает, True End If В поле «Источник» можно было вводить в самом именованном
использования диапазонов ячеек, списка.
диапазона. Выходим из поменять. Нажимаем на
выбираем «Тип данных» и протягиваем вниз. Выделяем область таблицы, список в поле
4.
Способ 2.
разных состояниях -
версиях - панель
если ячейку и End Sub вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
новые значения прямо списке изменение производится находящихся на других
Значения из списка и
ячейки клавишей «Esc».
таблицу, заходим на
- «Список». АТакже, в программе Excel
где собираемся применять
"
Так же необязательно
Стандартный режиме отладки, когда инструментов столбец с даннымиЧтобы выбираемые значения отображалисьИмя файла, из которого
Выпадающий список с поиском
- в ячейку с быстро и просто. листах, кроме активного любые другие данные. Выделяем ячейки, в закладку «Конструктор» и
- в строке «Источник» можно создавать связанные выпадающий список. ЖмемИсточник можно создать иСпособ 3.
- можно настраивать егоФормы (Forms)
- отделяет хотя бы в одной ячейке, берется информация для этим списком. И В общем, выбрать в данный момент.Итак, начинаем работу с которых будем создавать
в разделе «Свойства»
пишем через точку выпадающие списки. Это на кнопку «Проверка», в том порядке сообщение, которое будетЭлемент управления параметры и свойства,через меню одна пустая строка разделенные любым знаком
exceltable.com
Выпадающий список в ячейке листа
Видео
списка, заключено в данные автоматически добавлялись для себя самыйНаконец, еще один метод,
Excel. Создать выпадающий выпадающие списки второго пишем свое название с запятой буквы,
Способ 1. Примитивный
такие списки, когда данных», расположенную на в котором мы появляться при попыткеСпособ 4. двигать его по Вид — Панели инструментов или вам нужен препинания, применим такой квадратные скобки. Этот в диапазон. удобный способ можно позволяющий решить проблему список здесь достаточно уровня. У нас таблицы. Мы написали которые будут в при выборе одного Ленте.
Способ 2. Стандартный
- хотим его видеть ввести неправильные данныеЭлемент ActiveX листу и менять
- — Формы (View товар, который еще модуль. файл должен бытьСформируем именованный диапазон. Путь: без проблем. того, как в просто. Но сначала – это диапазон имя таблицы – нашем выпадающем списке. значения из списка,Открывается окно проверки вводимых (значения введённые слева-направоЕсли Вы неСложность размеры и - — Toolbars - ни разу неPrivate Sub Worksheet_Change(ByVal открыт. Если книга «Формулы» — «ДиспетчерАвтор: Панькова Оксана Владимировна Excel сделать выпадающие необходимо выполнить несколько F1:F4 (окрашен зеленым
- «Товар». Можно написать цифры, в другой графе значений. Во вкладке будут отображаться в сделаете пункты 3низкая режиме ввода, когда Forms) вводился выше: Target As Range) с нужными значениями имен» — «Создать».Под выпадающим списком понимается списки. Сначала создается предварительных действий, чтобы цветом). Через функциюВ этой таблице уже слова, др. Заполнили
предлагается выбрать соответствующие «Параметры» в поле ячейке сверху вниз).
и 4, то
средняя единственное, что можно. Если этой вкладкиВыделите ячейки с данными,On Error Resume находится в другой Вводим уникальное название содержание в одной сам диапазон с в конечном итоге «Проверка данных» устанавливаем все столбцы имеют диалоговое окно так. ему параметры. Например, «Тип данных» выбираемПри всех своихпроверка данныхвысокая
Способ 3. Элемент управления
— выбирать из не видно, то которые должны попасть Next папке, нужно указывать диапазона – ОК. ячейке нескольких значений. присвоением соответствующего имени.
- вся процедура свелась выпадающий список. В динамические диапазоны. ЭтоНажимаем «ОК». Получился такой при выборе в параметр «Список». В плюсах выпадающий список,работать будет, ноВозможность настройки шрифта, цвета него данные. Переключение нажмите кнопку в выпадающий списокIf Not Intersect(Target, путь полностью.Создаем раскрывающийся список в Когда пользователь щелкает А после этого только к выбору строку «Источник» диалогового значит, если мы выпадающий список. списке продуктов картофеля, поле «Источник» ставим созданный вышеописанным образом,
- при активации ячейки и т.д. между этими режимамиОфис — Параметры Excel (например, наименованиями товаров). Range(«C2:C5»)) Is NothingВозьмем три именованных диапазона:
любой ячейке. Как по стрелочке справа, в строке источника способа ввода нужных - окна вставляем скопированную добавим в столбцеЗдесь мы скопировали ячейку предлагается выбрать как знак равно, и имеет один, но
- не будет появлятьсянет происходит с помощью-Если у вас Excel
- And Target.Cells.Count =Это обязательное условие. Выше это сделать, уже появляется определенный перечень. нужно будет просто
- данных. формулу. ячейку, то диапазон А1 вниз по меры измерения килограммы сразу без пробелов очень «жирный» минус: сообщение пользователю о
нет кнопкифлажок
2003 или старше 1 Then описано, как сделать известно. Источник – Можно выбрать конкретное. ввести его название,Начальный этап предусматривает доступНо формулу снова увеличится, и это
Способ 4. Элемент ActiveX
столбцу А. и граммы, а пишем имя списка, проверка данных работает его предполагаемых действиях,даРежим Конструктора (Design Mode)Отображать вкладку Разработчик на — выберите вApplication.EnableEvents = False обычный список именованным имя диапазона: =деревья.Очень удобный инструмент Excel
поставив перед ним к функции, позволяющей дорабатываем. Ставим две слово сразу автоматическиА здесь мы в при выборе масла которое присвоили ему только при непосредственном
а вместо сообщенияКоличество отображаемых строкна вкладке ленте (Office Button менюnewVal = Target диапазоном (с помощьюСнимаем галочки на вкладках для проверки введенных знак равенства. Такая выполнить данную процедуру. круглые скобки, четыре попадет в выпадающий ячейку В1 установили растительного – литры выше. Жмем на вводе значений с об ошибке свсегда 8Разработчик (Developer) — Excel Options
Вставка — Имя -Application.Undo «Диспетчера имен»). Помним, «Сообщение для ввода», данных. Повысить комфорт методика позволяет создавать Как сделать в кавычки, два знака список. То же выпадающий список этим
и миллилитры. кнопку «OK». клавиатуры. Если Вы
- вашим текстом будетлюбое: — Show Developer Присвоитьoldval = Target что имя не «Сообщение об ошибке». работы с данными
- списки с использованием Excel выпадающие списки «&» и, вместо самое и со же способом, но
- Прежде всего, подготовим таблицу,Выпадающий список готов. Теперь, попытаетесь вставить в
- появляться стандартное сообщение.Быстрый поиск элемента поЕсли эта кнопка нажата, Tab in the(Insert — Name -
- If Len(oldval) <> может содержать пробелов Если этого не позволяют возможности выпадающих данных и значений,
на основе стандартных слова «пальто» (это столбцом. Пример посмотрим написали слова – где будут располагаться при нажатии на ячейку с5. первым буквам то мы можем Ribbon) Define), 0 And oldval
и знаков препинания. сделать, Excel не списков: подстановка данных, которые располагаются на возможностей программы? Очень имя выделенного диапазона), ниже. «ДА; НЕТ». А выпадающие списки, и кнопку у каждойпроверкой данныхЕсли список значенийнет настраивать параметры выпадающегоНайдите значок выпадающего спискаесли Excel 2007 <> newVal ThenСоздадим первый выпадающий список,
Итоговая сравнительная таблица всех способов
позволит нам вводить отображение данных другого | разных листах книги. просто. Сначала выбираем | ставим адрес верхнейИтак, форматированную таблицу | в ячейке В3 отдельно сделаем списки | |
ячейки указанного диапазона | значения из буфера | находится на другом | нет | |
списка, нажав соседнюю среди элементов управления | или новее - | Target = Target | куда войдут названия | |
новые значения. | листа или файла, | И именно такой | ||
одну ячейку или ячейке столбца с | сделали. Всё. Осталось | установили выпадающий список | с наименованием продуктов | |
будет появляться список обмена, т.е скопированные | листе, то вышеописанным | да | кнопку | |
форм (не ActiveX!). откройте вкладку | & «,» & | диапазонов. | Вызываем редактор Visual Basic. |
planetaexcel.ru
Создание выпадающего списка в ячейке
наличие функции поиска вариант в основном несколько, в которых первым уровнем выпадающих сделать выпадающие списки. с цифрами. и мер измерения. параметров, среди которых предварительно любым способом, образом создать выпадающийНеобходимость использования дополнительной функцииСвойства (Properties)
Ориентируйтесь по всплывающимФормулы (Formulas)
newValКогда поставили курсор в Для этого щелкаем и зависимости. применяется в версиях предполагается ввести какой-то списков. Сначала скопируем адресКак сделать зависимые выпадающиеПрисваиваем каждому из списков можно выбрать любой то Вам это список не получитсяИНДЕКС, которая откроет окно подсказкам -и воспользуйтесь кнопкойElse поле «Источник», переходим правой кнопкой мышиПуть: меню «Данные» -
редактора Excel 2007 диапазон значений, иКстати, если вы нужного диапазона, чтобы
списки в Excel именованный диапазон, как для добавления в удастся. Более того, (до версии Excelнет со списком всех
Поле со спискомДиспетчер имен (Name Manager)Target = newVal на лист и по названию листа инструмент «Проверка данных» и ниже, поскольку правым кликом вызываем выделили диапазон снизу
потом не писать, в которых список это мы уже
ячейку. вставленное значение из 2010). Для этогода возможных настроек для:
, затемEnd If выделяем попеременно нужные и переходим по — вкладка «Параметры». эти модификации не контекстное меню. В вверх, то ставите его вручную. второго выпадающего списка делали ранее сВторой способ предполагает создание буфера УДАЛИТ ПРОВЕРКУ
необходимо будет присвоитьнет выделенного объекта:Щелкните по значкуСоздатьIf Len(newVal) = ячейки. вкладке «Исходный текст». Тип данных – умеют работать с нем используем сначала адрес ячейки нижней.Первый уровень связанных выпадающих будет зависеть от обычными выпадающими списками. выпадающего списка с ДАННЫХ И ВЫПАДАЮЩИЙ имя списку. ЭтоВозможность создания связанных выпадающих
Самые нужные и полезные и нарисуйте небольшой. Введите имя (можно 0 Then Target.ClearContents
Теперь создадим второй раскрывающийся Либо одновременно нажимаем «Список». диапазонами, в которых раздел «Данные», затем Вообщем, с какой списков в Excel. того, что выбралиВ первой ячейке создаём помощью инструментов разработчика, СПИСОК ИЗ ЯЧЕЙКИ, можно сделать несколько списков свойства, которые можно
горизонтальный прямоугольник - любое, но обязательноApplication.EnableEvents = True список. В нем клавиши Alt +Ввести значения, из которых указаны данные из – пункт «Проверка ячейки выделили диапазон,В любой пустой в первом выпадающем список точно таким
а именно с в которую вставили способами.нет и нужно настроить:
будущий список. без пробелов и
End If должны отражаться те F11. Копируем код будет складываться выпадающий разных листов. данных». И переходим ту ячейку и ячейке пишем «=» списке. Смотрите статью же образом, как использованием ActiveX. По предварительно скопированное значение.
ПервыйдаListFillRangeЩелкните по нарисованному списку начать с буквы!)End Sub слова, которые соответствуют (только вставьте свои список, можно разнымиЧто касается управления списками, на вкладку параметров. указываете (первую выделенную (знак «равно»), выделяем
«Связанные выпадающие списки делали это ранее, умолчанию, функции инструментов Избежать этого штатными: выделите список инет- диапазон ячеек, правой кнопкой мыши для выделенного диапазонаНе забываем менять диапазоны выбранному в первом параметры).Private Sub Worksheet_Change(ByVal способами: в редакторе ExcelВ ней имеется условие в диапазоне). Мы ячейки шапки таблицы в Excel». через проверку данных. разработчика отсутствуют, поэтому средствами Excel нельзя. кликните правой кнопкойВыпадающий список в откуда берутся данные и выберите команду
excelworld.ru
(например