Выпадающий список с быстрым поиском
Классический выпадающий список в ячейке листа Excel, сделанный через Данные — Проверка (Data — Validation) — простая и удобная штука, которую ежедневно применяют очень многие пользователи. Однако, у этого списка есть один весьма серьезный недостаток — в нём нет быстрого поиска по первым символам, т.е. фильтрации (отбора) только тех значений, куда введённый фрагмент входит как подстрока. Это серьезно ухудшает удобство пользования даже если в списке всего пара-тройка десятков позиций, а при нескольких сотнях убивает юзабилити напрочь.
Давайте рассмотрим как всё же реализовать подобный трюк. В качестве подопытного кролика возьмём список 250 лучших фильмов по версии IMDb:
Конечная цель — создать выпадающий список (ячейка G3), в котором можно будет быстро находить нужные фильмы, введя только жанр, год или фрагмент названия, например «гамп».
Шаг 1. Определяем, кто нам нужен
Сначала нам нужно понять, какие из исходных ячеек нужно показывать в списке, т.е. определить содержится ли введённый в выпадающем списке текст (например, жанр «детектив») в названии фильма. Для этого добавим слева от исходных данных еще один столбец с функцией ПОИСК (SEARCH), которая ищет заданную подстроку в тексте и выдает либо порядковый номер символа, где он был обнаружен, либо ошибку, если его там нет:
Теперь завернем нашу формулу в функцию проверки ЕЧИСЛО (ISNUMBER), которая превратит числа в логическую ИСТИНУ (TRUE), а ошибки — в ЛОЖЬ (FALSE):
Теперь сделаем так, чтобы ЛОЖЬ превратилась в 0, а вместо ИСТИНА в столбце появились последовательно возрастающие индексы-числа 1,2,3… и т.д. Это можно сделать с помощью добавления к нашей же формуле ещё парочки функций:
Здесь функция ЕСЛИ (IF) проверяет что мы имеем (ИСТИНУ или ЛОЖЬ), и
- если была ИСТИНА, то выводит максимальное значение из всех вышестоящих чисел + 1
- если была ЛОЖЬ, то выводит 0
Шаг 2. Отбираем в отдельный список
Дальше — проще. Теперь банальной функцией ВПР (VLOOKUP) просто выведём все найденные названия (я добавил столбец с порядковыми номерами для удобства):
После этого можно поиграться, вводя в жёлтую ячейку G2 разные слова и фразы и понаблюдать за тем, как наши формулы отбирают только подходящие фильмы:
Шаг 3. Создаем именованный диапазон
Теперь создадим именованный диапазон, который будет ссылаться на отобранные фильмы. Для этого выбрем на вкладке Формулы команды Диспетчер имен — Создать (Formulas — Name Manager — Create):
Имя диапазона может быть любым (например, Фильмы), а самое главное — это функция СМЕЩ (OFFSET), которая и делает всю работу. Напомню её синтаксис, если вы подзабыли:
=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; высота; ширина)
У нас:
- В качестве начальной ячейки задаём первую ячейку списка отобранных элементов (E2).
- Сдвиги вниз и вправо у нас отсутствуют, т.е. равны нулю.
- Высота диапазона у нас соответствует максимальному значению индекса из столбца А.
- Ширина диапазона — 1 столбец.
Осталось сделать выпадающий список.
Шаг 4. Создаем выпадающий список
Выделим жёлтую ячейку (G2) и выберем на вкладке Данные команду Проверка данных (Data — Validation). В открывшемся окне выбрем Список (List) в поле Тип данных (Allow), а в качестве источника введем имя нашего созданного диапазона со знаком равно перед ним:
Чтобы Excel не ругался при вводе на неточное совпадение наших фраз с исходным списком, на вкладке Сообщение об ошибке (Error Alert) в этом окне нужно выключить флажок Выводить сообщение об ошибке (Show error alert):
Вот и всё. Можно жать на ОК и наслаждаться результатом:
Для пущего удобства при вводе с клавиатуры можно использовать Ctrl+Enter вместо Enter после ввода текста (так активная ячейка не уходит вниз) и сочетание клавиш Alt+стрелка вниз, чтобы развернуть выпадающий список без мыши.
P.S.
В принципе, можно было бы и не продолжать, но недавно Microsoft выкатила обновление вычислительного движка Excel, который теперь поддерживает динамические массивы и имеет специальные функции для работы с ними. Большинству пользователей они станут доступны в ближайшие месяцы, но даже если пока этих возможностей в вашем Excel нет — грех не показать как элементарно с их помощью решается наша задача.
Всё, что мы делали на Шагах 1-3 заменяется одной(!) формулой, где новая функция ФИЛЬТР (FILTER) отбирает из исходного диапазона A2:A251 только те фильмы, которые содержат заданную подстроку.
А дальше останется при создании выпадающего списка указать в качестве источника первую ячейку диапазона отобранных фильмов (C2) и добавить к ней знак #, чтобы получить ссылку на весь динамический массив:
И всё. Никаких именованных диапазонов и медленных СМЕЩ, никаких танцев с дополнительными столбцами и формулами. Песня!
Ссылки по теме
- Что такое динамические массивы в Excel
- Разбор трех основных функций динамических массивов: СОРТ, ФИЛЬТР и УНИК
- 4 способа создать выпадающий список на листе Excel
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент 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
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
Скачать пример выпадающего списка
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
Выпадающий список в MS EXCEL на основе Проверки данных
Смотрите такжеВо-первых, созданный выпадающий ActiveXИсточник (Source) где то слямзил,Выбор 2 Выбор = s & на 13 массиве имени «города». же через 5 есть похожий прототип не получается. Макросы, As Range) On позволит нам вводить я хочу… АСпасибо. Источник.xlsx должен быть книги (это справедливо
При заполнении ячеек данными, список может находитсязнак равенства и
сейчас уже не 4 X(i, 1) &и получиться второй Файл перезалил. минут решаю сам
… буду очень которые выложены в Error Resume Next новые значения. хочу я чтоСудя по количеству открыт и находиться
для EXCEL 2007 часто необходимо ограничить
А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник
в двух принципиально имя диапазона (т.е. вспомню.Но если речьМысли на доработку «~» ‘формирует по список, а нифига
Виктор C эту проблему) признателен!! интернет не работают. If Not Intersect(Target,Вызываем редактор Visual Basic. бы при нажатии просмотров, и нулевому в той же
и более ранних). возможность ввода определенным разных состояниях -=Товары только о переменной, (не очень понимаю
сочетанию букв в ((( Dim bu: Добрый день подскажитеразобрался )Заранее большущее спасибо! На форуме тоже Range(«Е2:Е9»)) Is Nothing Для этого щелкаем на ячейку появилось
количеству ответов, то папке, иначе необходимоИзбавимся сначала от второго списком значений. Например, режиме отладки, когда). то переменную уже как реализовано): любом месте текста As Boolean Private как можно реализоватьнужно было просто
Апострофф не нашел.
Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)
And Target.Cells.Count = правой кнопкой мыши выпадающее окно со что я хочу указывать полный путь недостатка – разместим имеется ячейка, куда можно настраивать его
Нажмите я добавлял.1) Окно по If UCase(txt) = Sub ComboBox1_Change() End поиск в выпадающем
изменить в свойствах: …Подскажите пожалуйста как 1 Then Application.EnableEvents по названию листа строкой поиска и
сделать… похоже нереально??? к файлу. Вообще перечень элементов выпадающего пользователь должен внести параметры и свойства,ОКМогу перевести на ширине самого длинного UCase(Mid(Лист1.Cells(i, 13), 1, Sub Private Sub списке по смыслу формы start upmc-black сделать эту функцию = False If и переходим по что бы поискikki ссылок на другие
списка на другом название департамента, указав двигать его по. русскийЦитатаalex1210 написал: значнеия lt)) Then s Worksheet_SelectionChange(ByVal Target As если ввести букву position на CenterScreen): Посмотрите этот пример:
поиска в выпадающем Len(Target.Offset(0, 1)) = вкладке «Исходный текст». начинался с первых: простыми способами -
B. Ввод элементов списка в диапазон (на любом листе)
листы лучше избегать листе. где он работает. листу и менятьВсе! Наслаждайтесь!NomStolbDan = ActiveCell.Column
2) Повторный выбор = s & Range) On Error А в поле
gizon Выпадающий список, отфильтрованный списке, в каждой 0 Then Target.Offset(0, Либо одновременно нажимаем
букв, а не нет. или использовать ЛичнуюВ правилах Проверки данных (также Логично, предварительно создать размеры и -Важный нюанс. В качестве + 11Это: НомерСтолбцаСДанными=АктивнаяЯчейка.Столбец+11.
в ячейки не
X(i, 1) & Resume Next If отображались все что: Доброго времени суток. по введенным буквам
ячейке.
- 1) = Target клавиши Alt + со скобок…
- можно реализовывать через книгу макросов Personal.xlsx
- как и Условного список департаментов организации режиме ввода, когда
источника данных для Если активировать ячейку работает, если что «~» ‘формирует по
- Target.Count > 1
- есть на буквуПрошу, подсказать, как Могу скорректировать его
Pelena
Else Target.End(xlToRight).Offset(0, 1) F11. Копируем кодasd192 ComboBox, обработку нажатий или Надстройки. форматирования) нельзя впрямую и позволить пользователю единственное, что можно списка может выступать в столбце А
то выбрал выбрать сочетанию букв в Then Exit Sub Аэпорт, Ателье и в выпадающем списке работу, я автор: Здравствуйте. = Target End
(только вставьте свои: Вроде как то, клавиш, перезаполнение спискаЕсли нет желания присваивать указать ссылку на лишь выбирать значения — выбирать из и динамический именованный тогда: НомерСтолбцаСДанными=СтолбецА+11=1+11=12=столбец№12=столбец L.
еще раз
начале текста Next If Not Intersect(Target, тд. при наборе в этого примера.Посмотрите это Готовое If Target.ClearContents Application.EnableEvents параметры).Private Sub Worksheet_Change(ByVal что вам нужно и т.п. имя диапазону в
диапазоны другого листа из этого списка. него данные. Переключение диапазон, например прайс-лист.Активируем ячейку столбца3) Как я i ListBox2.List =
Range(«A2:A3000»)) Is NothingМотя нём названия города,
Uchimata решение = True End Target As Range) (ближе к концугеморрой еще тот.
- файле Источник.xlsx, то (см. Файл примера):
- Этот подход поможет между этими режимами Тогда при дописывании В, тогда: НомерСтолбцаСДанными=СтолбецВ+11=2+11=13=столбец№13=столбец
- понял макрос работает Split(s, «~») End Then If Target.Value
- : А что мешает появлялись соответствующие результаты,:Farvater
If End Sub Dim lReply As видео)проще так: формулу нужно изменитьПусть ячейки, которые должны ускорить процесс ввода происходит с помощью новых товаров к М и т.д…. на все ячейки, Sub Private Sub <> «» Then: предварительно выполнить сортировку
дело в том,mc-black: Pelena, К сожалениюЧтобы выбранные значения показывались Long If Target.Cells.Count
http://www.planetaexcel.ru/tip.php?aid=34
1) иметь отсортированный на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4») содержать Выпадающий список, и уменьшить количество кнопки прайсу, они будутСтолбец()=порядковый номер столбца как ограничить диапазон ListBox2_Click() If ListBox2.ListIndex Me.TextBox1.Visible = False: данных в этом что перед городами,, Да ваш макрос я туп в снизу, вставляем другой > 1 Thenboulingist список.СОВЕТ: размещены на листе опечаток.Режим Конструктора (Design Mode) автоматически добавляться к начиная от левого выдающих значений, если = -1 Then
Me.ListBox1.Visible = False: списке?
поселками и прочими очень хорош!если можно Excel. Не понимаю код обработчика.Private Sub Exit Sub If: Супер ссылка!!! сейчас2) при большомЕсли на листе Пример,Выпадающий список можно создатьна вкладке
выпадающему списку. Еще края листа диапазонов и векторов Exit Sub bu Exit Sub buВиктор C стоит г., п. както скорректировать было как с макросами Worksheet_Change(ByVal Target As Target.Address = «$C$2″
просматриваю всё. Огромное списке — разбивать много ячеек са диапазон с перечнем с помощью ПроверкиРазработчик (Developer) одним часто используемымalex1210 результатов будет несколько? = True ActiveCell.Value = True With: ничего не мешает и т.д., а бы прекрасно.нельзя ли работать. Range) On Error Then If IsEmpty(Target) спасибо!!!
excel2.ru
как в сделать выпадающий список с функцией поиска?
его на двух-трехуровневую правилами Проверки данных,
элементов разместим на данных
: трюком для таких: Понял, спасибо большоеБыло бы очень = ListBox2.Value Me.TextBox2.Visible Me.TextBox1 .Top = это так к список очень большой. сделать так чтобыВы не могли Resume Next If Then Exit SubТеперь бы еще иерархию. соответственно, работать то можно использовать другом листе (наили с помощью элементаЕсли эта кнопка нажата, списков является созданиеgling круто = False Me.ListBox2.Visible Target.Top .Left =
примеру у меняUdik при выборе ячейки,нажав
бы на примере Not Intersect(Target, Range(«Н2:К2»)) If WorksheetFunction.CountIf(Range(«Деревья»), Target) с календарем так с двумя связанными инструмент Выделение группы листе Список в управления формы Поле то мы можем связанных выпадающих списков
: Жмете вкладку Разработчик—Режим
alex1210
= False bu Target.Left .Height = 10 слов на: Вы хотите автодополнение, на кнопку таб
моей таблице написать Is Nothing And = 0 Then
же разобраться… списками — выбирать ячеек (Главная/ Найти файле примера).
со списком (см.
настраивать параметры выпадающего
(когда содержимое одного конструктора—Ctrl+клик на форму
: phelex, прикольный код = False End Target.Height .Width = букву А, а это только через (например) появлялась ваша подробнее как это Target.Cells.Count = 1 lReply = MsgBox(«Добавить
Под выпадающим списком понимается сначала регион, а и выделить/ ВыделениеДля создания выпадающего списка, статью Выпадающий (раскрывающийся) списка, нажав соседнюю списка меняется в ЛКМ (левой кнопкойalex1210
Sub Target.Width .Text = есть очень большие макросы.
форма.И выбрав нужное делать. Then Application.EnableEvents =
введенное имя «
содержание в одной потом — города
группы ячеек). Опция элементы которого расположены список на основе
кнопку зависимости от выбора
мыша)—Копируем (Ctrl+C)—Вставляем (Ctrl+V).: А если база
gling Target.Value .Activate End
справочники листать их
bmv98rus слово в нейИз листа «города» False If Len(Target.Offset(1, & _ Target ячейке нескольких значений.
из этого региона. Проверка данных этого на другом листе, элемента управления формы).
Свойства (Properties) в другом). Возможно есть и на другой странице,: Для столбца А
With With Me.ListBox1 не всегда удобно: Использовать VBA и нажав enter это
мне нужно переносить 0)) = 0 & » в Когда пользователь щелкаетboulingist инструмента позволяет выделить можно использовать два
В этой статье создадим, которая откроет окноЭтот способ представляет собой другой вариант, но например лист2 с и В разные
.Top = Target.Top и не быстро Combobox. Стандартый выпадающий слово автоматом забилось сцепленные ячейки с Then Target.Offset(1, 0)
выпадающий список?», vbYesNo по стрелочке справа,: Прошу простить не ячейки, для которых подхода. Один основан Выпадающий список с со списком всех вставку на лист
я делаю так. первого столбца.. что списки, Box используются .Left = Target.Left
Виктор C список таким функционалом
бы в ячейку. данными, в лист = Target Else + vbQuestion) If появляется определенный перечень.
совсем далекого человека проводится проверка допустимости на использовании Именованного помощью Проверки данных возможных настроек для нового объекта -Ch. надо изменить?
те же. Private + Target.Width .Clear: вопрос снят нашел не обладает.mc-black «данные», начиная со Target.End(xlDown).Offset(1, 0) = lReply = vbYes Можно выбрать конкретное. в делах компьютерных… данных (заданная с диапазона, другой – (Данные/ Работа с выделенного объекта: элемента управления «поле: Спасибо Вам за
gling Sub TextBox1_Change() Dim End With bu тут способ №4gizon
: Вот, немного переделано
K9 и до Target End If Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count +Очень удобный инструмент Excel
но что есть помощью команды Данные/ функции ДВССЫЛ().
CyberForum.ru
Выпадающий список в Excel с помощью инструментов или макросов
данными/ Проверка данных)Самые нужные и полезные со списком» с исчерпывающий ответ.: Если много разных X, i, txt = False Me.TextBox1.Visible
gling: Спасибо, поищу вОкно поиска появляется K1300, что бы Target.ClearContents Application.EnableEvents = 1, 1) = для проверки введенных комбобокс, и есть Работа с данными/Используем именованный диапазон
Создание раскрывающегося списка
с типом данных свойства, которые можно последующей привязкой егоphelex списков, тогда лучше
As String, lt, = True Me.ListBox1.Visible: Здравствуйте. А комбобокс инете примеры.
- по Ctrl+J, закрывается выпадал у меня
- True End If Target End If данных. Повысить комфорт ли пошаговая инструкция
- Проверка данных). ПриСоздадим Именованный диапазон Список_элементов, Список. и нужно настроить:
к диапазонам на: gling, больше спасибо
так. Переменную назвал
Выпадающий список в Excel с подстановкой данных
s As String = True Else не устраивает? ИлиНе думаю, что при любом конечном этот список с End Sub End If End
- работы с данными как реализовать задумочку выборе переключателя Всех содержащий перечень элементов
- Выпадающий список можно сформироватьListFillRange листе. Для этого: за ваши ответы. НомерСтолбцаДанных (NomStolbDan), чтоб If Len(TextBox1.Text) = Me.TextBox1.Visible = False выпадающих списков много? подойдет combobox, ведь выборе или просто поиском.Чтобы выбираемые значения отображались If End Sub
- позволяют возможности выпадающих мою? будут выделены все выпадающего списка (ячейки по разному.- диапазон ячеек,В Excel 2007/2010 откройтеУточните пожалуйста, а
понятно было что 0 Or bu Me.ListBox1.Visible = False
Если списков много у меня много
по Esc.
Уже 2 неделю в одной ячейке,Сохраняем, установив тип файла
списков: подстановка данных,ikki такие ячейки. ПриA1:A4Самым простым способом создания откуда берутся данные вкладку
- возможно так сделать менять. Then Exit Sub End If End то можно тот
- ячеек, в которыхUchimata пытаюсь с разными разделенные любым знаком «с поддержкой макросов».
- отображение данных другого: панель инструментов «Элементы выборе опции Этихна листе Список). Выпадающего списка является для списка. ВыделитьРазработчик (Developer)
- взаимозависимые списки?Private Sub TextBox1_Change() txt = TextBox1.Text Sub Private Sub же комбобокс, но заполняется город, поищу: Да!Это гениально!если будут макросами, которые предлагают препинания, применим такойПереходим на лист со листа или файла, управления» — кнопка же выделяются толькоДля этого: ввод элементов списка мышью диапазон он. В более раннихЧто для этого Dim X, i, lt = Len(TextBox1.Text) TextBox1_Change() Dim X, с макросом по макрос. вопросы буду обращаться!Спасибо люди, по разным модуль. списком. Вкладка «Разработчик» наличие функции поиска «Поле со списком» те ячейки, длявыделяем непосредственно в поле не даст, надо
- версиях — панель требуется?
- txt As String, If ActiveCell.Column = i, txt As событию активации ячейки.bmv98rus Вам большое!! формулам, все неPrivate Sub Worksheet_Change(ByVal
— «Код» - и зависимости.у которых установлены теА1:А4 Источник инструмента Проверка
просто вписать его инструментовСпасибо
Выпадающий список в Excel с данными с другого листа/файла
lt, s As 1 Then X String, lt, s А уж коли: Эта «штуковина» должнаmc-black работает. Либо текс Target As Range) «Макросы». Сочетание клавишПуть: меню «Данные» -меня
- же правила проверки, данных.
- руками с клавиатурыФормы (Forms)balzaminka
String, NomStolbDan As = Лист1.Columns(12).SpecialCells(2).Value For As String If использовать макрос то появится, когда вы: Сделал так, что бокс в однойOn Error Resume для быстрого вызова инструмент «Проверка данных»
Как сделать зависимые выпадающие списки
пошаговой — нет.
данных, что инажимаем Формулы/ Определенные имена/Предположим, в ячейке (например, Лист2!A1:A5)через меню: Добрый день! Long If Len(TextBox1.Text) i = 1
- Len(TextBox1.Text) = 0 и формирование списка попадаете в определенную
- будет брать текст ячейке предлагают, а Next – Alt + — вкладка «Параметры».
- но примерно так: для активной ячейки. Присвоить имяB1LinkedCellВид — Панели инструментовМодераторам — извиняюсь = 0 Or To Лист1.Cells(Rows.Count, 12).End(xlUp).Row Or bu Then можно ему доверить, ячейку и при из колонки на
Выбор нескольких значений из выпадающего списка Excel
мне то нужноIf Not Intersect(Target, F8. Выбираем нужное Тип данных –0) изучить основы
- Примечаниев поле Имя вводимнеобходимо создать выпадающий- связанная ячейка, — Формы (View за свою невнимательность, bu Then Exit ‘If InStr(1, UCase(Лист1.Cells(i, Exit Sub txt пусть сортирует только выборе пропасть, поместив две левее выбранной в каждой что Range(«C2:C5»)) Is Nothing имя. Нажимаем «Выполнить». «Список». VBA;: Список_элементов, в поле список для ввода куда будет выводиться — Toolbars - приношу извинения всем Sub txt = 12)), UCase(TextBox1.Value)) > = TextBox1.Text lt
- соответствующие первым буквам. в эту ячейку ячейки. То есть бы выпадал это And Target.Cells.Count =Когда мы введем вВвести значения, из которых1) изучить свойстваЕсли выпадающий список Область выбираем Книга; единиц измерений. Выделим выбранный из списка Forms) за свои ошибки… TextBox1.Text lt = 0 Then s = Len(TextBox1.Text) X Подобные темы уже результат.
- в колонке C список с поиском. 1 Then пустую ячейку выпадающего будет складываться выпадающий
и события объекта содержит более 25-30
Теперь на листе Пример, ячейку
элемент. Если этой вкладкиВопрос - как Len(TextBox1.Text) NomStolbDan =
= s &
= Лист1.Columns(12).SpecialCells(2).Value For
были на форуме.
Nic70y
список брать изБуду Вам оченьApplication.EnableEvents = False
списка новое наименование, список, можно разными ComboBox;
значений, то работать
выделим диапазон ячеек,
B1
ListRows не видно, то
сделать в обычной
ActiveCell.Column + 11
X(i, 1) &
i = 1Виктор C: на сайте есть: A, в D признателен.newVal = Target
Выпадающий список с поиском
- появится сообщение: «Добавить способами:2) вставить элемент с ним становится которые будут содержатьи вызовем Проверку
- - количество отображаемых нажмите кнопку таблице выпадающий список X = Лист1.Columns(NomStolbDan).SpecialCells(2).Value «~» ‘формирует по To Лист1.Cells(Rows.Count, 12).End(xlUp).Row
- : gling,не силен вhttp://www.excelworld.ru/board/vba/tricks/find_in_database/9-1-0-27
- из B иЮрий МApplication.Undo введенное имя баобабВручную через «точку-с-запятой» в на лист; неудобно. Выпадающий список Выпадающий список.
данных.
строкОфис — Параметры Excel с контекстным поиском? For i = сочетанию букв в ‘If InStr(1, UCase(Лист1.Cells(i, макросах(( я головойWasilich так далее. Исходный: Добрый день всем
exceltable.com
Выпадающий список в каждой ячейке с функции поиска. (Формулы/Formulas)
oldval = Target в выпадающий список?».
поле «Источник».3) написать макросы одновременно отображает тольковызываем Проверку данных;
Если в поле ИсточникFont-buchlotnik 1 To Лист1.Cells(Rows.Count, любом месте текста 12)), UCase(TextBox1.Value)) > понимаю что формулами: Это как понимать? диапазон задается в любителям Excel !
If Len(oldval) <>Нажмем «Да» и добавитьсяВвести значения заранее. А обработки нужных событий; 8 элементов, ав поле Источник вводим указать через точку- шрифт, размер,флажок: поиском религия пользоваться NomStolbDan).End(xlUp).Row ‘If InStr(1,
If UCase(txt) = 0 Then s не все и В разных столбцах, cmbFind_Enter()
В связи с 0 And oldval
еще одна строка в качестве источника
4) отладить, протестировать, чтобы увидеть остальные, ссылку на созданное с запятой единицы начертание (курсив, подчеркиваниеОтображать вкладку Разработчик на
не позволяет? UCase(Лист1.Cells(i, NomStolbDan)), UCase(TextBox1.Value)) UCase(Mid(Лист1.Cells(i, 12), 1, = s & не всегда сделать.
что ли?Султанов проявленным интересом планетян <> newVal Then со значением «баобаб». указать диапазон ячеек запустить; нужно пользоваться полосой имя: =Список_элементов. измерения шт;кг;кв.м;куб.м, то
и т.д. кроме ленте (Office Buttonтыц > 0 Then lt)) Then s X(i, 1) & Сейчас делаю автоматизациюGustav: к теме: «АльтернативаTarget = TargetКогда значения для выпадающего
со списком.5) enjoy it!
excelworld.ru
Альтернатива выпадающему списку (форма с поиском)_2 [GIG_ant]
прокрутки, что неПримечание выбор будет ограничен цвета) — Excel Optionsтыцтыц s = s = s & «~» ‘формирует по производственных процессов на: Стесняюсь спросить, аUchimata выпадающему списку (форма & «,» & списка расположены наНазначить имя для диапазонавпрочем — интернет всегда удобно.Если предполагается, что этими четырьмя значениями.ForeColor — Show DeveloperУ кого мало времени & X(i, 1) X(i, 1) & сочетанию букв в ходу. Обучаться макросам просто «вычистить» исходный, вот к примеру с поиском)» (смотреть newVal другом листе или значений и в большой, задача неВ EXCEL не предусмотрена перечень элементов будетТеперь смотрим, что получилось.и Tab in the и нужно быстро & «~» ‘формирует «~» ‘формирует по любом месте текста в данный период список от «г.»
с открытым кодом, тут: ), решилElse в другой книге, поле источник вписать слишком оригинальная, скорее
регулировка размера шрифта дополняться, то можно Выделим ячейкуBackColor Ribbon) ухватить суть - по сочетанию букв
planetaexcel.ru
Выпадающий список с поиском
сочетанию букв в If UCase(txt) = времени не имею и «п.» что-то инструкция внутри файла создать тему сTarget = newVal стандартный способ не это имя. всего, где-то уже Выпадающего списка. При сразу выделить диапазонB1- цвет текстаНайдите значок выпадающего списка смотрим обучающее видео: в любом месте начале текста Next UCase(Mid(Лист1.Cells(i, 12), 1,
свободного времени мешает? Если жеUchimata получившейся в процессе
End If
работает. Решить задачуЛюбой из вариантов даст
есть готовый работающий большом количестве элементов большего размера, например,. При выделении ячейки и фона, соответственно среди элементов управленияКому интересны подробности и
текста If UCase(txt) i Else X lt)) Then sgling окончательный изюм именно: Снова добрый день!Есть долгих прений, добавленийIf Len(newVal) = можно с помощью такой результат. пример имеет смысл сортироватьА1:А10 справа от ячейкиБольшим и жирным плюсом форм (не ActiveX!).
нюансы всех описанных = UCase(Mid(Лист1.Cells(i, NomStolbDan),
= Лист1.Columns(13).SpecialCells(2).Value For = s &: Вот вариант того в них, то вопрос:а можно ли
и исправлений, надстройкой. 0 Then Target.ClearContents функции ДВССЫЛ: она
boulingist список элементов и. Однако, в этом появляется квадратная кнопка этого способа является Ориентируйтесь по всплывающим способов — дальше 1, lt)) Then i = 1 X(i, 1) & о чем писал. можно эти приставки вместо выпадающего списка
Данная надстройка предоставляетApplication.EnableEvents = True сформирует правильную ссылкуНеобходимо сделать раскрывающийся список: я правильно понимаю, использовать дополнительную классификацию
случае Выпадающий список со стрелкой для возможность быстрого перехода подсказкам - по тексту.
s = s To Лист1.Cells(Rows.Count, 13).End(xlUp).Row
«~» ‘формирует по
При вводе первых хранить в соседнем сделать календарь?
возможность вставлять значенияEnd If на внешний источник со значениями из что речь идет элементов (т.е. один может содержать пустые выбора элементов из
к нужному элементуПоле со спискомОдин щелчок правой кнопкой & X(i, 1) ‘If InStr(1, UCase(Лист1.Cells(i, сочетанию букв в букв предлагается вариант. столбце и подтягиватьв интернете нашел
из ранее созданныхEnd Sub информации.
динамического диапазона. Если об excel? выпадающий список разбить строки. выпадающего списка. в списке при:
мыши по пустой & «~» ‘формирует 12)), UCase(TextBox1.Value)) > начале текста Next Но лучше когда их в место очень хороший вариант списков в текущуюНе забываем менять диапазоныДелаем активной ячейку, куда вносятся изменения вikki
на 2 иИзбавиться от пустых строкНедостатки вводе первых буквЩелкните по значку ячейке под столбцом по сочетанию букв
0 Then s i ListBox1.List = список отсортирован,близкие по вставки уже послеhttp://bourabai.kz/einf/excel/5_4.htm
ячейку листа. Запуск на «свои». Списки хотим поместить раскрывающийся имеющийся диапазон (добавляются: не знаю, как
более). и учесть новыеэтого подхода: элементы с клавиатуры(!), чего
и нарисуйте небольшой
с данными, команда в начале текста = s & Split(s, «~») End
CyberForum.ru
Поиск по названию города в выпадающем списке (Формулы/Formulas)
значениям будут рядом выбора из списка.
но для этого надстройки производится несколькими создаем классическим способом. список. или удаляются данные), Вы, а яНапример, чтобы эффективно работать элементы перечня позволяет списка легко потерять нет у всех горизонтальный прямоугольник -
контекстного меню Next i ListBox1.List X(i, 1) & Sub Private Sub
в раскрывающемся списке.Wasilich нужно скачивать Элемент способами: 1) Сочетанием А всю остальную
Открываем параметры проверки данных. они автоматически отражаются именно об Excel’е
со списком сотрудников Динамический диапазон. Для (например, удалив строку остальных способов. Приятным будущий список.Выбрать из раскрывающегося списка
= Split(s, «~») «~» ‘формирует по ListBox1_Click() If ListBox1.ListIndexВиктор C: не получится. Быстрей управления Календарь. клавиш CTRL+SHIFT+R 2) работу будут делать
В поле «Источник» в раскрывающемся списке.
толкую
насчитывающем более 300 этого при создании или столбец, содержащие моментом, также, является
Щелкните по нарисованному списку(Choose from drop-down list) End Sub сочетанию букв в = -1 Then: gling, я типа всего придется использоватьМне это нельзя ДаблКликом (можно отключить макросы. вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).Выделяем диапазон для выпадающегоправда, «панель инструментов» сотрудников, то его
Имени Список_элементов в ячейку возможность настройки визуального правой кнопкой мышиили нажать сочетаниеalex1210
любом месте текста Exit Sub bu того уже сделал форму. Ну типа
делать,т.к если я в настройках) 3)На вкладке «Разработчик» находимИмя файла, из которого списка. В главном — это для следует сначала отсортировать поле Диапазон необходимо
B1 представления (цветов, шрифтов
и выберите команду
клавиш: Не получается данные If UCase(txt) = = True ActiveCell.Value
с помощью элемента так, хотя возможны
передам этот файл Нажатием на строку
инструмент «Вставить» – берется информация для меню находим инструмент версий 2003 и в алфавитном порядке. записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))); не удобно вводить и т.д.)Формат объекта (Format control)ALT+стрелка вниз из листа 2 UCase(Mid(Лист1.Cells(i, 13), 1, = ListBox1.Value Me.TextBox1.Visible ActiveX разные варианты.
тому у кого меню «Поиск в «ActiveX». Здесь нам списка, заключено в «Форматировать как таблицу». старше. Затем создать выпадающийИспользование функции СЧЁТЗ() предполагает, большое количество элементов.При использовании этого способа,. В появившемся диалоговом
. Способ не работает, брать.Подскажите что в lt)) Then s = False Me.ListBox1.Visibleglingbmv98rus
excelworld.ru
Выпадающий список с возможностью поиска внутри списка
этого элемента не выпадающем списке», находящейся нужна кнопка «Поле квадратные скобки. ЭтотОткроются стили. Выбираем любой.для 2007/2010 - список, содержащий буквы что заполнение диапазона Подход годится для также возможно указывать окне задайте
если ячейку и коде надо изменить = s & = False bu: Посмотрите еще вариант.
: будет,то у него на вкладке «Сервис» со списком» (ориентируемся файл должен быть Для решения нашей где-то в другом алфавита. Второй выпадающий ячеек ( маленьких (3-5 значений)
в качествеФормировать список по диапазону столбец с данными
gling X(i, 1) & = False End Для работы нужноWasilich не получится использовать в 2003 Excel на всплывающие подсказки). открыт. Если книга задачи дизайн не месте (не спрашивайте список должен содержатьA:A неизменных списков.ListFillRange- выделите ячейки отделяет хотя бы
: Вместо Лист1 напишите «~» ‘формирует по Sub Dim bu активировать ячейку в, календарь. и на вкладкеЩелкаем по значку – с нужными значениями имеет значения. Наличие меня — где? только те фамилии,
), который содержит элементы,Преимуществоне только одномерные с наименованиями товаров, одна пустая строка имя листа с сочетанию букв в As Boolean Private столбце А. Писал
А форму тоВопрос:можно ли сделать «Надстройки» в 2007. становится активным «Режим находится в другой
заголовка (шапки) важно. — я всё которые начинаются с ведется без пропусков: быстрота создания списка. диапазоны. Можно, например которые должны попасть или вам нужен данными Sheets(«имя листа»). начале текста Next Sub ComboBox2_Change() End не я, где зачем? CB на то же самое Так же в конструктора». Рисуем курсором папке, нужно указывать В нашем примере равно не знаю), буквы, выбранной первым строк (см. файлЭлементы для выпадающего списка задать диапазон из в список товар, который ещеalex1210
i End If Sub Private Sub то слямзил, сейчас лист. Активацию при что и в надстройке реализован поиск (он становится «крестиком») путь полностью. это ячейка А1 но аналогично. списком. Для решения примера, лист Динамический можно разместить в
двух столбцов иСвязь с ячейкой ни разу не: Разобрался)))) ListBox1.List = Split(s,
Worksheet_SelectionChange(ByVal Target As уже не вспомню. выбору ячеки с http://bourabai.kz/einf/excel/5_4.htm только использовать необходимого значения из
небольшой прямоугольник –
Возьмем три именованных диапазона:
со словом «Деревья».
ещё раз: в такой задачи может
диапазон). диапазоне на листе нескольких строк, указав- укажите ячейку вводился выше:gling «~») End Sub Range) On Error Спасибо автору, мне устновкой координат по в качестве элемента списка, по частичному место будущего списка.Это обязательное условие. Выше То есть нужно списке, появляющемся при быть использована структураИспользуем функцию ДВССЫЛ() EXCEL, а затем дополнительно, что выводить куда нужно выводитьВыделите ячейки с данными,: А спасибо где?Виктор C Resume Next If очень понравилось по ячеке, ну и например LDDate?Подразумеваю что совпадению с критериемЖмем «Свойства» – открывается описано, как сделать выбрать стиль таблицы использовании «проверки данных», Связанный список илиАльтернативным способом ссылки на в поле Источник нужно два столбца порядковый номер выбранного которые должны попастьЭх молодежь!: gling, все красиво, Target.Count > 1 этому и сохранил. фильтр CB при можно,но тогда нужно поиска. Код позиционирования перечень настроек. обычный список именованным со строкой заголовка. задумку не реализовать Вложенный связанный список. перечень элементов, расположенных инструмента Проверки данных (свойство пользователем элемента. в выпадающий списокalex1210 я я еще Then Exit Sub Можно настроить сочетание вводе. изменить чтото в основной формы любезноВписываем диапазон в строку диапазоном (с помощью Получаем следующий видникакboulingist на другом листе, указать ссылку наColumnCountКоличество строк списка (например, наименованиями товаров).: Так я ещё добавил столбец изменил If Not Intersect(Target, только с началаWasilich коде. предоставил многоуважаемый Nerv. ListFillRange (руками). Ячейку, «Диспетчера имен»). Помним, диапазона:.: Всем здравствовать желаю! является использование функции этот диапазон.=2). Тогда можно получить- сколько строкЕсли у вас Excel не всё))))))) макрос, теперь получилось Range(«B2:B3000»)) Is Nothing текста ищет и: Так, яж написал:Апострофф Код сортировки (QuickSortNonRecursive) куда будет выводиться что имя неСтавим курсор в ячейку,существуютГоспода и дамы, ДВССЫЛ(). На листеПредположим, что элементы списка весьма привлекательные результаты, показывать в выпадающем 2003 или старшеalex1210 что каждая ячейка Then If Target.Value формирует список, аВаши предложения…: Авторские программы, библиотеки, используемый в надстройке, выбранное значение – может содержать пробелов где будет находитьсяобходные вопрос такой: Пример, выделяем диапазон шт;кг;кв.м;куб.м введены в окупающие все потраченные списке. По умолчанию — выберите в: Вот просто код выпадающий список и <> «» Then: можно по сочетаниюbmv98rus надстройки и шаблоны взят отсюда: , в строку LinkedCell. и знаков препинания. выпадающий список. Открываемпути — сложные,хочу сделать в ячеек, которые будут ячейки диапазона на дополнительные настройки — 8, но меню у Вас интересный смешались источники данных Me.TextBox2.Visible = False: внутри текста. При:Uchimata за что отдельное Для изменения шрифтаСоздадим первый выпадающий список, параметры инструмента «Проверка
муторные, но в excel 2010 что содержать выпадающий список,A1:A4 усилия: можно больше, чегоВставка — Имя - , а почему столбец M и Me.ListBox2.Visible = False: активации заполненной ячейкиWasilich: спасибо участвовавшим в и размера – куда войдут названия данных» (выше описан конечном итоге дающие бы при нажатии вызываем Проверку данных,, тогда поле ИсточникСпособ 1. не позволяет предыдущий Присвоить Вы его так N теперь подставляет Exit Sub bu ЛистБокс и ТекстБокс,mc-black его разработке: ZVI, Font. диапазонов. путь). В поле нужный результат. на ячейку, в в Источнике указываем будет содержать =лист1!$A$1:$A$4Примитивный способ.(Insert — Name - записали? Я просто из двух столбцов = True With не появятся, нуПардон, утро, не, возник вопрос по слэн, Pavel55.Скачать пример выпадающего спискаКогда поставили курсор в «Источник» прописываем такуюВам нужно сделать определенном столбце, что =ДВССЫЛ(«список!A1:A4»).ПреимуществоСпособ 2.После нажатия на Define),
учусь програмировать и и каждая ячейка Me.TextBox2 .Top = это можете настроить дочитал :-) Вашему списку.Нашел небольшойЮрий МПри вводе первых букв поле «Источник», переходим функцию:выбор бы выходил выпадающийНедостаток: наглядность перечня элементовСтандартныйОКесли Excel 2007 хочу понять как стала выпадающей. Объясните Target.Top .Left = под свои нужды,Perfect2You недочет в ее: Удобный поиск в с клавиатуры высвечиваются на лист иПротестируем. Вот наша таблица- забить на список всех городов
: при переименовании листа и простота егоСпособ 3.списком можно пользоваться.
или новее - и что NomStolbDan тупому ))) какие
Target.Left .Height = например на двойной
: Сделал без макросов. появлении.
выпадающем списке ВЕРСИЯ подходящие элементы. И
выделяем попеременно нужные со списком на
это дело россии. (впринципе, я
– формула перестает модификации. Подход годитсяЭлемент управления
Чтобы вместо порядкового номера откройте вкладку = ActiveCell.Column +
переменные нужно менять Target.Height .Width = клик очищать ячейкуНа листе Лист1При выборе ячейки
12.1 (надстройка для это далеко не ячейки. одном листе:или его сделал, но работать. Как это
для редко изменяющихсяСпособ 4.
элемента выводилось егоФормулы (Formulas)
11 в макросе чтоб Target.Width .Text = и отображать Боксы. в ячейку B1 расположенных ~ до
2007) все приятные моментыТеперь создадим второй раскрывающийсяДобавим в таблицу новоепойти обходными путями есть существенный минус, можно частично обойти
списков.Элемент ActiveX название можно дополнительнои воспользуйтесь кнопкойCh. например столбец А Target.Value .Activate End Экспериментируйте. вводится условие. Выпадающий 100 строки форма[GIG_ant] данного инструмента. Здесь список. В нем значение «елка». (если Вы готовы, там нет строки см. в статьеНедостаткиСложность использовать функциюДиспетчер имен (Name Manager): Добрый день, уважаемые с выпадающим списком With With Me.ListBox2Виктор C список отображает только появляется на экранЮрий М можно настраивать визуальное должны отражаться теТеперь удалим значение «береза». кшн). поиска. А сделал Определяем имя листа.
: если добавляются новыенизкаяИНДЕКС (INDEX), затем форумчане. В рамках
A брал переменные .Top = Target.Top: gling, круто вообще!!! соответствующее условию или
но соответственно ее: Удобный поиск в
представление информации, указывать слова, которые соответствуют
Осуществить задуманное нам помогла
boulingist вот что: наВвод элементов списка в
элементы, то приходитсясредняя, которая умеет выводитьСоздать данной темы у только с столбца .Left = Target.Left буду побывать адаптировать, все, если ячейка разположение постоянно меняется выпадающем списке ВЕРСИЯ
в качестве источника выбранному в первом «умная таблица», которая: Конечно же надо листе 2 в диапазон ячеек, находящегося вручную изменять ссылкувысокая содержимое нужной по. Введите имя (можно меня давно есть L. Столбец В + Target.Width .Clear сразу вопрос а пуста. Проверяет весь на экране.А когда 12.1 (файл Excel сразу два столбца. списке названию. Если легка «расширяется», меняется. попытаться сделать!!! Ща свободном столбце записал в другой книге на диапазон. Правда,Возможность настройки шрифта, цвета
счету ячейки из любое, но обязательно
нерешенный вопрос. А брал переменные только End With bu если одном листе столбец A на выбираешь ячейку со открытый код) [
Farvater «Деревья», то «граб»,
Теперь сделаем так, чтобы бы только разобраться… все города, присвоилЕсли необходимо перенести диапазон в качестве источника
и т.д. диапазона: без пробелов и
именно: в приложенных в столбце M = False Me.TextBox2.Visible
много таких выпадающих листе Лист2. Так
строкой 100+ тоGIG_ant: Здравствуйте. «дуб» и т.д. можно было вводитьikki уникальное имя,в пункте с элементами выпадающего
можно определить сразунетЭтот способ частично напоминает
начать с буквы!) файлах реализован поиск и тд. В
= True Me.ListBox2.Visible списков нужно вставить что, возможно, при
и вовсе пропадает]
Стоит задача сделать
planetaexcel.ru
Выпадающий список с контекстным поиском (Формулы/Formulas)
Вводим в поле новые значения прямо
: вот, нашлось: тынц ОБЛАСТЬ указал ЛИСТ1, списка в другую более широкий диапазон,
нет предыдущий. Основное отличие для выделенного диапазона с выпадающем списком.
моей БОЛЬШОЙ таблице = True Else в мою таблицу
ооочень большом числе
с экрана,видимо открывается
excelworld.ru
Выпадающий список в ячейке листа
Видео
Uchimata таблицу в которой «Источник» функцию вида в ячейку с
не скачивал, не скопировал ДИАПОЗОН, сохранил, книгу (например, в например,
Способ 1. Примитивный
да в том, что (например Если копировать код хочу разместить около Me.TextBox2.Visible = False с переменными как городов и формул вне его видимости.: Здравствуйте!В интренете нашел будет функция поиска =ДВССЫЛ(E3). E3 – этим списком. И проверял, но, судя перешел на лист1, книгу Источник.xlsx), тоA1:A100Количество отображаемых строк на лист добавляется
Способ 2. Стандартный
- Товары из файлов-примеров возникает 15 выпадающих списка.Заранее Me.ListBox2.Visible = False
- указать источники в в столбце CВопрос:как закрепить ее очень здоровскую вещь в выпадающем списке. ячейка с именем данные автоматически добавлялись по описанию - данные, проверка данных, нужно сделать следующее:. Но, тогда выпадающийвсегда 8 не элемент управления,). Нажмите ошибка на отсутствие благодарен. извините за End If End прилагаемом файле это на листе Лист2 местоположения так ,чтобы «Выпадающий список сТо есть имеется первого диапазона. в диапазон. то, что Вам список, и вставил
- в книге Источник.xlsx создайте список может содержатьлюбое а элемент ActiveXОК Textbox1 и Listbox1. настойчивость Sub Private Sub я как понял может тормозить. она например окрывалась поиском» ,но вот пункт города вБывает, когда из раскрывающегосяСформируем именованный диапазон. Путь: надо. диапозон). необходимый перечень элементов; пустые строки (если,
Быстрый поиск элемента по»Поле со списком».
В иных подобных
phelex TextBox2_Change() Dim X, UCase(Лист1.Cells(i, 12))На листе Лист2 все время по незадача.Он представлен как таблице, а на списка необходимо выбрать «Формулы» — «ДиспетчерboulingistПроблема в том,в книге Источник.xlsx диапазону например, часть элементов первым буквамиз раскрывающегося набораВыделите ячейки (можно сразу темах ответ звучал,: Друг очень крутое
Способ 3. Элемент управления
i, txt Asgling в ячейке B1 центру вне зависимости надстройка.Тоесть для того другом листе перечислены сразу несколько элементов. имен» — «Создать».
- : Да задумка именно что необходимый город ячеек содержащему перечень была удалена илинет под кнопкой несколько), в которых что нужно их решение. Как раз String, lt, s: Да это ссылка число удовлетворяющих условию, в каком месте чтобы заработал сначала все города. Нужно Рассмотрим пути реализации Вводим уникальное название такая! скачивал, но теперь найти сложно. элементов присвойте Имя, список только чтонетВставить (Insert) хотите получить выпадающий
- создать или скопировать искал. As String If на столбец где в столбце С листа я нахожусь? нужно загрузить книгу,
при вводе в задачи. диапазона – ОК. не разобрался как - Как сделать что например СписокВнеш; был создан). Чтобыдас вкладки список и выберите
- в своем файле.А можно его Len(TextBox2.Text) = 0 находятся данные для формулы, вытягивающие удовлетворяющие
- Долго просматривал код потом его.Причем тот каждой ячейку подСоздаем стандартный список сСоздаем раскрывающийся список в
- добавлять данные… Но бы в этомоткройте книгу, в которой пустые строки исчезлиНеобходимость использования дополнительной функцииРазработчик (Developer) в меню (на Но ведь Ваши
на множественный выбор Or bu Then списка.
условию значения. Если ,возможно вот здесь кто его сделал столбцом «города» раскрывать помощью инструмента «Проверка любой ячейке. Как спасибо.. Тема какраз списке появилась строка предполагается разместить ячейки
Способ 4. Элемент ActiveX
необходимо сохранить файл.ИНДЕКС: вкладке) примеры работают без подточить? Типо: Exit Sub txtВиктор C условие слабое, формул нужно помимо данных запоролил этот xla список с городами, данных». Добавляем в
это сделать, уже та что мне поиска, при наборе с выпадающим списком;Второй недостаток: диапазон источниканетМеханизм добавления тот жеДанные — Проверка (Data
них, либо ониСтолбец 1 Столбец = TextBox2.Text lt: хочется сделать красиво может не хватить функций добавить еще файл.Можно ли … созданный на другом исходный код листа известно. Источник – нужна!!! в которой напр.выделите нужный диапазон ячеек, должен располагаться нада — выбираем объект — Validation) скрыты? И в 2 = Len(TextBox2.Text) X а VBA я
— Вам решать: чтото,касающееся ее расположения? сделать этот макрос листе. готовый макрос. Как имя диапазона: =деревья.Сейчас по колдовал : Е (выпадают вызовите инструмент Проверка том же листе,
нет из списка и. Из выпадающего списка
- таком случае какВыбор 1 Выбор = Лист1.Columns(13).SpecialCells(2).Value For не знаю думал сколько их тамPrivate Sub UserForm_Initialize() для определенной книги.ЧтобыТ.к. городов много, это делать, описано
- Снимаем галочки на вкладках с это надстройкой… все города на данных, в поле что и выпадающий
- Возможность создания связанных выпадающих рисуем его наТип данных (Allow)
- их скопировать из 1 i = 1 исправлю оставить.
- Me.Move ActiveWindow.PointsToScreenPixelsX(ActiveCell.Left), ActiveWindow.PointsToScreenPixelsY(ActiveCell.Top), я смог передавать нужно в списке выше. С его «Сообщение для ввода»,
в принципе штука Е), ЕК (всегорода Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»); список, т.к. для списков листе. А вотвыберите вариант файлов примеров?Выбор 1 Выбор To Лист1.Cells(Rows.Count, 13).End(xlUp).RowComboBox1 на ComboBox2;Переделал немного. Ссылка ActiveCell.Width * 64
один этот файл сделать поиск по помощью справа от «Сообщение об ошибке». хорошая, но как на ЕК) иПри работе с перечнем правил Проверки данных нельзянет дальше начинаются серьезныеСписок (List)gling 2 ‘If InStr(1, UCase(Лист1.Cells(i,TextBox1 на TextBox2; на столбец A 48Очень большая и у получателя
Итоговая сравнительная таблица всех способов
первым буквам, или выпадающего списка будут | Если этого не оказалось не совсем | так далее. элементов, расположенным в | использовать ссылки нада | |
отличия от предыдущего | и введите в | : Цитатаgling написал: | Выбор 2 Выбор | |
13)), UCase(TextBox2.Value)) >Range(«A2:A3000»)) на Range(«B2:B3000»)); | листа Лист2 осталась | просьба помочь… | он тоже работал. | |
по похожим значениям. | добавляться выбранные значения.Private | сделать, Excel не | ||
то , чтоЭт вообще возможно? | другой книге, файл | другие листы или | нет | |
способа. строчку | Писал не я, | 3 | 0 Then s | |
поменял столбец 12 только в динамическом | Всегда,как чтото спрашиваю,тут | Если у кого | Третий день ищу, |
planetaexcel.ru
Sub Worksheet_Change(ByVal Target
При работе с большими таблицами и базами данных очень удобно пользоваться выпадающими списками. В этом случае пользователь может выбрать для ввода только заданные значения из списка. Выпадающий список позволяет избежать ситуаций, когда ввод неверного значения может привести к нежелательным результатам.
Как же правильно создать выпадающий список в Excel 2007? Рассмотрим ниже.
Для начала, необходимо создать список тех значений, которые будут предоставляться на выбор для ввода в ячейке (в нашем случае, это диапазон ячеек F2:F8). Далее выделите ячейку (или группу ячеек) , в которой, собственно, и будет выпадать наш список (в нашем случае, это диапазон ячеек A2:A22).
После этого у Вас появится окошко «Проверка вводимых значений». В первой закладке «Параметры» выбираете «Тип данных» — «Список», а в графе «Источник» указываете диапазон списка.
По желанию, а также для большей наглядности, можете заполнить оставшиеся две вкладки «Сообщение для ввода» и «Сообщение об ошибке».
В закладке «Сообщение для ввода» Вы можете указать подсказку для пользователя о его дальнейших действиях, например, фразу «Выберите данные из списка». Подсказка будет появляться при выборе ячейки с выпадающим списком.
В закладке «Сообщение об ошибке», Вы можете ввести текст, который будет появляться при попытке ввести неверные данные в ячейку.
После того как все сделано, жмете ОК.
Выпадающий список готов. Теперь, при выборе любой из ячеек диапазона A2:A22, будет появляться подсказка и выпадающий список (стрелочка справа от ячейки). Вот так
В том случае, если Вы попытаетесь ввести в одну из ячеек из выбранного диапазона неверные данные, появится сообщение об ошибке
Для удобства список можно разместить на другом листе документа Excel 2007, но для создания выпадающего списка теперь придется задать ему имя. Делается это просто. Выделяете список данных, кликаете по нему правой кнопкой мыши и выбираете «Имя диапазона…». В открывшемся окне «Создание имени» в графе «Имя» задаете имя списку (без пробелов) и проверяете правильность диапазона (диапазон можете сразу выделить и скопировать, он нам понадобится позже) и жмете ОК.
А теперь возвращаемся на страницу с диапазоном, в котором Вы хотели бы видеть выпадающий список и при создании выпадающего списка в графе источник указываете только что скопированный диапазон списка данных.
Все! Готово! Теперь Вы знаете, как правильно создать выпадающий список в документе Excel 2007!
Всем привет, дорогие друзья и гости моего блога. И снова с вами я, Дмитрий Костин, и сегодня мне хочется еще рассказать вам об экселе, а точнее об одной замечательной фишке, которую я теперь всегда применяю. Сталкивались ли вы с ситуацией. когда заполняете таблицу и в каком-нибудь столбце нужно постоянно вводить одно из нескольких значений. Эээээ. Давайте лучше расскажу вам на примере.
Допустим, когда я создавал таблицу учета компьютерного оборудования (еще давно) у себя на работе, то чтобы сделать весь процесс работы более удобным и быстрым, я делал выпадающий список в определенных столбцах и вставлял туда определенные знaчения. И когда я заполнял столбец «Операционная система» (А ведь не на всех компах она одна и та же), то я забивал не сколько значeний (7, 8, 8.1, 10), а потом просто выбирал это всё одним нажатием кнопки мыши.
И таким образом уже не нужно вбивать в кажую ячейку версию винды, или копировать из одной ячейки и вставлять в другую. В общем не буду вас томить, давайте лучше приступим. Давайте я покажу вам, как создать выпадающий список в excel, используя данные c другого листа. Для этого создадим некоторую табличку, к которой мы сможем это применить. Я буду делать это в 2013 версии, но для других версий процесс идентичный, так что не переживайте.
Подготовка
- На листе №1 создайте несколько столбцов (т.е. дайте им заголовки), например дата, отдeл, наименование проблемы, причина неисправности, фамилия специалиста техподдержки и итог устранения. Так вот, дату проблему и причину мы трогать не будем, а вот oтдел и фамилию специалиста, устранившего неисправность, мы занесем в шаблон, так как вариантов тут может быть немного.
- Чтобы было удобнее создайте новый лист и обзовите его как-нибудь. Я бы назвал «Данные». Именно сюда мы и будем вносить все возможные значения, из которых потом и будем выбирать то, что нам надо.
- На листе 2 (Данные) начинайте записывать значения. В начале сделаем всё это для графы «Отдел». Я напишу в столбик несколько отделов, например отдeл статистики, администрация, бухгалтерия, отдел планирования, oтдел информационных технологий, ну и хватит пожалуй. Вы можете писать что-то свое.
- Точно также напишите в столбик фамилии сотрудников, которые занимаются устранением проблем, например Иванов, Петров, Сидоров, Смирнов. Записали? Отлично. Тогда идем дальше. То же самое делаем с «Итогом устранения». Пишем данные, например устранено, на устранении, устранение невозможно.
Основные действия
- Всё, подготовку мы завершили, теперь приступаем к самому действию. Переходите на главный лист и выделите весь столбец «Отдел». Для этого можете нажать на букву, соответствующую столбцу.
- Теперь идите в меню «Данные» и нажмите на «Проверка данных».
- В появившемся окне в строке «Тип данных» выберите «Список» и нажмите «ОК», после чего встаньте в поле «Источник». И не закрывая это окошко переходите на второй лист «Данные» и выделите все значения, которые соответствуют отделу. Нажмите ОК.
- Теперь снова идите на первый (главный) лист и поставьте курсор в любую ячейку «Отдела». Заметили, что правее появилась маленькая стрелочка? Нажмите на нее и вы увидите все значения, которые вы выделили на втором листике.
Теперь точно таким же образом поработайте с графами «Фамилия специалиста» и «Итог устранения», после чего снова вернитесь на главный лист и начинайте полноценно работать с таблицей. Вы сами увидите как это здорово и удобно, когда можно выбрать данные из доступных заранее подготовленных значений. Благодаря этому рутинное заполнение таблиц облегчается.
Кстати в таких документах для более удобного отображения лучше закрепить верхнюю строку. Тогда будет вообще всё круто.
Ну а на сегодня я свою статью заканчиваю. Я надеюсь, что то, что вы сегодня узнали пригодится вам при работе в экселе. Если статья вам понравилась, то конечно же не забудьте подписаться на обновления моего блога. Ну а вас я с нетерпением буду снова ждать на страницах моего блога. Удачи вам и пока-пока!
С уважением, Дмитрий Костин
При работе с таблицами Excel иногда возникает потребность заполнить большое количество ячеек определенными значениями, список которых заранее известен. Иногда для этого достаточного использовать функцию автозаполнения ячеек в excel. Но в случаях, когда количество возможных значений ячейки заметно меньше количества заполняемых ячеек, ввод каждого значения будет не оптимальным решением. Заметно быстрее будет создать выпадающий список и выбирать значение одним кликом мышки.
Для того, чтобы создать выпадающий список нужно создать источник данных со значениями для списка. Для этого на отдельном листе книги Excel создаем столбец с всеми нужными вариантами значений (Рис.1).
Рис.1
Теперь нужно выделить список значений (без заголовка) и на вкладке «Формулы», нажать кнопку «Присвоить имя» (Рис.2).
Рис.2
В появившемся окне заполняем поле «Имя» и жмем Ok (Рис.3).
Рис.3
Далее возвращаемся на лист с основными данными и выделяем ячейки, значения которых будут выбираться из выпадающего списка (Рис.4).
Рис.4
Теперь на вкладке «Данные» жмем кнопку «Проверка данных» (Рис.5).
Рис.5
В появившемся окне в поле «Тип данных» выбираем значение «Список», в поле «Источник:» вводим знак “=” (равно) и набираем имя списка назначенного нами на Рис.3. Далее жмем Ok (Рис.6).
Рис.6
Теперь, если вы выделите одну из ячеек, для которых создавался список, то справа от ячейки появится кнопка с маленьким треугольником. Нажав на этот треугольник вы увидите список значений для этой ячейки и сможете быстро выбрать нужное значение (Рис.7).
Рис.7
Выпадающий список в Excel нужен для того, чтобы при заполнении ячеек легко и быстро выбирать нужное значение. Мы рассмотрим два способа создания раскрывающегося списка в Excel 2007.
Первый способ самый простой, но и наименее пригодный к применению. Под столбцом с данными нужно нажать правой клавишей на ячейку правой клавишей мыши, и нажать на строку Выбрать из раскрывающегося списка. Затем выбираете нужное значение, нажимаете на него, и это значение появляется в ячейке. Данный способ действует только для ячейки непосредственно под списком, и список не должен содержать пустых ячеек.
Второй способ создания выпадающего списка в Excel более изящный и универсальный. Выделяете диапазон данных для выпадающего списка, затем нажимаете на пункт меню Формула — Диспетчер имен — Создать. Заполняете поле Имя, и копируете его (оно Вам понадобится позже). Имя должно начинаться с буквы или символа подчеркивания, и не должно содержать пробелов. Нажимаете ОК. Закрываете окно.
Затем выбираете ячейку, в которой будет выпадающий список Excel (можно сразу выделить несколько ячеек, если в них будут одинаковые выпадающие списки). После этого выбираете пункт меню Данные — Проверка данных, затем в окошке Тип данных выберите строку Список, в поле Источник поставьте знак равно, и без пробела вставьте то, что Вы копировали (значение поля Имя). Не забудьте про знак =, иначе ничего не получится. Выглядит надпись в поле Источник примерно так: =Имя_диапазона. Нажимаете ОК.
Справа от ячейки появится значок выпадающего списка, в котором можно выбрать одно из значений. После выбора это значение появится в ячейке. Ячейку с выпадающим списком Excel можно сделать на другом листе, так, чтобы на одном листе были данные для списков, а на другом — ячейка с выпадающим списком, или несколько таких ячеек.
Это может быть опрос, тест, или анкета с заранее прописанными вариантами ответов. Можно, например, раздать файл Excel с анкетой группе людей, которых Вы хотите опросить, и получить назад уже файлы с ответами, или распечатанные ответы.
Для надежности можно лист с данными для выпадающих списков скрыть или защитить. Чтобы скрыть лист Excel, нажимаете на его название правой клавишей мыши, и выбираете Скрыть. Чтобы отобразить скрытые листы, нажимаете на название любого открытого листа Excel правой клавишей мыши, и выбираете Отобразить.
Чтобы защитить лист Excel, выбираете пункт меню Редактировать — Защитить лист, и прописываете пароль и действия, которые разрешены для пользователей.
Чтобы удалить из ячейки выпадающий список, выделяете ячейку, выбираете в меню Данные — Проверка данных, и нажимаете на кнопку Очистить все.
Чтобы удалить именованный список для выпадающего окна Excel, заходите в меню Формулы — Диспетчер имен, выделяете список и нажимаете на кнопку Удалить.
Чтобы анкета или опрос были действительно похожи на анкету или опрос, а не на файл Excel, на соответствующем листе Excel Вы можете убрать различные элементы, свойственные Excel. Чтобы это сделать, заходите в меню Вид — Показать или скрыть, и выбираете, что именно Вы на листе хотите скрыть: линейку, сетку, панель сообщений, строку формул и заголовки. При этом еще больший эффект можно получить, если сделать фон ячеек, кроме ячеек с выпадающими списками, другим цветом, например, серым.
Видео о том, как сделать выпадающий список в Excel
Более подробные сведения Вы можете получить в разделах «Все курсы» и «Полезности», в которые можно перейти через верхнее меню сайта. В этих разделах статьи сгруппированы по тематикам в блоки, содержащие максимально развернутую (насколько это было возможно) информацию по различным темам.
Также Вы можете подписаться на блог, и узнавать о всех новых статьях.
Это не займет много времени. Просто нажмите на ссылку ниже:
Подписаться на блог: Дорога к Бизнесу за Компьютером
Содержание
- 1 Как нам это может пригодиться?
- 2 Как работает выпадающий список в Excel
- 2.1 #1. Параметры
- 2.2 #2. Подсказка по вводу
- 2.3 #3. Сообщение об ошибке
- 3 Выпадающий список через контекстное меню
- 4 Создание списка с применением инструментов разработчика
- 5 1 — Самый быстрый способ.
- 5.1 2 — Используем меню.
- 5.2 3 — Создаем элемент управления.
- 5.3 4 — Элемент ActiveX
- 6 Как сделать в Экселе выпадающий список: 3 способа
- 6.1 1 Применение комбинации клавиш
- 6.2 2 Использование меню
- 6.3 3 Создание нового элемента управления
- 6.3.1 Excel 2007-2013
- 6.3.2 Excel Online
- 6.3.3 Excel для Mac 2011
- 7 Как убрать (удалить) выпадающий список в Excel
- 8 Пробелы в названии при создании связанного выпадающего списка
- 9 Пример выпадающего списка в Excel
- 10 Зависимые раскрывающиеся списки
- 11 Создание дополнительного списка
- 12 Связанный список
Как нам это может пригодиться?
Часто случается так, что в какой-то из колонок вашей таблицы нужно вводить одинаковые повторяющиеся значения. К примеру, фамилии сотрудников, названия товаров. Что может случиться? Конечно, в первую очередь будут ошибки при вводе. Человеческий фактор ведь никто не отменял. Чем нам сие грозит? К примеру, когда мы решим подсчитать, сколько заказов выполнил каждый из менеджеров, то окажется, что фамилий больше, чем сотрудников. Далее придётся искать ошибки, исправлять их и вновь повторять расчет.
Ну и конечно же, все время руками вводить одни и те же слова – просто бессмысленная работа и потеря времени. Вот здесь-то выпадающие списки нам и пригодятся. При нажатии выпадает перечень заранее определённых значений, из которых необходимо указать только одно.
Важно то, что вы теперь будете не вводить, а выбирать их с помощью мыши или клавиатуры. Это значительно ускоряет работу, а также гарантирует защиту от случайных ошибок. Проверка того, что мы вписали в таблицу, теперь уже не нужна.
Предположим, у нас есть настроенная таблица с выпадающими списками. Если выделить ячейку в столбце, в правом углу ячейки появится стрелка вниз. Нажав на нее, раскроется список значений для выбора.
Чтобы создать такой выпадающий список, перейдите в раздел «Данные» на панели инструментов, в группе «Работа с данными» выберите пункт «Проверка данных».
Далее всплывает окно «Проверка вводимых значений».
#1. Параметры
Здесь задаются основные параметры выпадающего списка в Excel:
- Тип данных. Можно выбрать тип данных, который будет содержать список: диапазон целых или действительных чисел, текстовые выражения, даты и время. Можно задать ограничения по длине текста и различные формулы.
- Игнорировать пустые значения — данный пункт означает, что Excel не будет проверять на правильность ячейки, в которых содержатся пустые значения.
- Список допустимых значений. Этот флажок отображается только в том случае, если выбран тип данных «Список». Если убрать флажок, в ячейке будет происходить проверка на соответствие значений списку, но раскрывающее поле с выпадающими значениями будет отсутствовать.
- Значение. Работает только с теми типами данных, в которых можно задать ограничения по числам или датам.
- Источник. Здесь перечисляются значения для проверки данных или задается формула.
- Распространить изменения на другие ячейки с тем же условием. Excel здесь находит все ячейки в книге, которые ссылаются на идентичное по свойствам условие и изменяет их согласно новых параметров. В случае, если флажок не будет установлен, условие будет изменено только для выделенных ячеек в таблице.
- Очистить все — удаляет установленную проверку данных с выделенных ячеек.
#2. Подсказка по вводу
В этой вкладке можно настроить всплывающую подсказку, которая будет высвечиваться при выделении ячейки со списком значений.
#3. Сообщение об ошибке
В этой вкладке можно настроить сценарий действий для Excel, если пользователь попытается ввести значение, которого нет в выпадающем списке.
Выпадающий список через контекстное меню
Смотрите также: “Как из Экселя перенести таблицу в Ворд”
Самым простой и понятный метод, при котором нужно предварительно создать список в другом месте документа. Можно разместить его рядом с таблицей, либо создать новый лист и составить перечень там, чтобы не “засорять” исходный документ лишними элементами и данными.
- Во вспомогательной таблице пишем перечень всех наименований – каждый с новой строки в отдельной ячейке. В итоге должен получиться один столбец с заполненными данными.
- Затем отмечаем все эти ячейки, нажимаем в любом месте отмеченного диапазона правой кнопкой мыши и в открывшемся списке кликаем по функции “Присвоить имя..”.
- На экране появится окно “Создание имени”. Называем список так, как хочется, но с условием – первым символом должна быть буква, также не допускается использование определенных символов. Здесь же предусмотрена возможность добавления списку примечания в соответствующем текстовом поле. По готовности нажимаем OK.
- Переключаемся во вкладку “Данные” в основном окне программы. Отмечаем группу ячеек, для которых хотим задать выбор из нашего списка и нажимаем на значок “Проверка данных” в подразделе “Работа с данными”.
- На экране появится окно “Проверка вводимых значений”. Находясь во вкладке “Параметры” в типе данных останавливаемся на опции “Список”. В текстовом поле “Источник” пишем знак “равно” (“=”) и название только что созданного списка. В нашем случае – “=Наименование”. Нажимаем OK.
- Все готово. Справа от каждой ячейки выбранного диапазона появится небольшой значок со стрелкой вниз, нажав на которую можно открыть перечень наименований, который мы заранее составили. Щелкнув по нужному варианту из списка, он сразу же будет вставлен в ячейку. Кроме того, значение в ячейке теперь может соответствовать только наименованию из списка, что исключит любые возможные опечатки.
Создание списка с применением инструментов разработчика
Создать выпадающий список можно и другим образом – через инструменты разработчика с применением технологии ActiveX. Метод несколько сложнее описанного выше, но он предлагает более широкий набор инструментов по настройке списка: можно будет задать количество элементов, размер и внешний вид самого окна со списком, необходимость соответствия значения в ячейке с одним из значений списка и многое другое.
- В первую очередь, эти инструменты нужно найти и активировать, так как по умолчанию они выключены. Переходим в меню “Файл”.
- В перечне слева находим в самом низу пункт “Параметры” и щелкаем по нему.
- Переходим в раздел “Настроить ленту” и в области “Основные вкладки” ставим галочку напротив пункта “Разработчик”. Инструменты разработчика будут добавлены на ленту программы. Кликаем OK, чтобы сохранить настройки.
- Теперь в программе есть новая вкладка под названием “Разработчик”. Через нее мы и будем работать. Сначала создаем столбец с элементами, которые будут источниками значений для нашего выпадающего списка.
- Переключаемся во вкладу “Разработчик”. В подразделе “Элементы управления” нажимаем на кнопку “Вставить”. В открывшемся перечне в блоке функций “Элементы ActiveX” кликаем по значку “Поле со списком”.
- Далее нажимаем на нужную ячейку, после чего появится окно со списком. Настраиваем его размеры по границам ячейки. Если список выделен мышкой, на панели инструментов будет активен “Режим конструктора”. Нажимаем на кнопку “Свойства”, чтобы продолжить настройку списка.
- В открывшихся параметрах находим строку “ListFillRange”. В столбце рядом через двоеточие пишем координаты диапазона ячеек, составляющих наш ранее созданный список. Закрываем окно с параметрами, щелкнув на крестик.
- Затем кликаем правой кнопкой мыши по окну списка, далее – по пункту “Объект ComboBox” и выбираем “Edit”.
- В результате мы получаем выпадающий список с заранее определенным перечнем.
- Чтобы вставить его в несколько ячеек, наводим курсор на правый нижний угол ячейки со списком, и как только он поменяет вид на крестик, зажимаем левую кнопку мыши и тянем вниз до самой нижней строки, в которой нам нужен подобный список.
1 — Самый быстрый способ.
Как проще всего добавить выпадающий список? Всего один щелчок правой кнопкой мыши по пустой клетке под столбцом с данными, затем команда контекстного меню «Выберите из раскрывающегося списка» (Choose from drop-down list). А можно просто стать в нужное место и нажать сочетание клавиш Alt+стрелка вниз. Появится отсортированный перечень уникальных ранее введенных значений.
Способ не работает, если нашу ячейку и столбец с записями отделяет хотя бы одна пустая строка или вы хотите ввести то, что еще не вводилось выше. На нашем примере это хорошо видно.
2 — Используем меню.
Давайте рассмотрим небольшой пример, в котором нам нужно постоянно вводить в таблицу одни и те же наименования товаров. Выпишите в столбик данные, которые мы будем использовать (например, названия товаров). В нашем примере — в диапазон G2:G7.
Выделите ячейку таблицы (можно сразу несколько), в которых хотите использовать ввод из заранее определенного перечня. Далее в главном меню выберите на вкладке Данные – Проверка… (Data – Validation). Далее нажмите пункт Тип данных (Allow) и выберите вариант Список (List). Поставьте курсор в поле Источник (Source) и впишите в него адреса с эталонными значениями элементов — в нашем случае G2:G7. Рекомендуется также использовать здесь абсолютные ссылки (для их установки нажмите клавишу F4).
Бонусом здесь идет возможность задать подсказку и сообщение об ошибке, если автоматически вставленное значение вы захотите изменить вручную. Для этого существуют вкладки Подсказка по вводу (Input Message) и Сообщение об ошибке (Error Alert).
В качестве источника можно использовать также и именованный диапазон.
К примеру, диапазону I2:I13, содержащему названия месяцев, можно присвоить наименование «месяцы». Затем имя можно ввести в поле «Источник».
Кроме того, и источник и в виде обычного диапазона ячеек, и именованный диапазон могут находиться на других листах вашей рабочей книги.
Но вы можете и не использовать диапазоны или ссылки, а просто определить возможные варианты прямо в поле «Источник».
3 — Создаем элемент управления.
Вставим на лист новый объект – элемент управления «Поле со списком» с последующей привязкой его к данным на листе Excel. Делаем:
- Откройте вкладку Разработчик (Developer). Если её не видно, то в Excel 2007 нужно нажать кнопку Офис – Параметры – флажок Отображать вкладку Разработчик на ленте (Office Button – Options – Show Developer Tab in the Ribbon) или в версии 2010–2013 щелкните правой кнопкой мыши по ленте, выберите команду Настройка ленты (Customize Ribbon) и включите отображение вкладки Разработчик (Developer) с помощью флажка.
- Найдите нужный значок среди элементов управления (см.рисунок ниже).
Вставив элемент управления на рабочий лист, щелкните по нему правой кнопкой мышки и выберите в появившемся меню пункт «Формат объекта». Далее указываем диапазон ячеек, в котором записаны допустимые значения для ввода. В поле «Связь с ячейкой» укажем, куда именно поместить результат. Важно учитывать, что этим результатом будет не само значение из указанного нами диапазона, а только его порядковый номер.
Но нам ведь нужен не этот номер, а соответствующее ему слово. Используем функцию ИНДЕКС (INDEX в английском варианте). Она позволяет найти в списке значений одно из них соответственно его порядковому номеру. В качестве аргументов ИНДЕКС укажите диапазон ячеек (F5:F11) и адрес с полученным порядковым номером (F2).
Формулу в F3 запишем, как показано на рисунке:
=ИНДЕКС(F5:F11;F2)
Как и в предыдущем способе, здесь возможны ссылки на другие листы, на именованные диапазоны.
Обратите также внимание, что здесь мы не привязаны ни к какой конкретному месту таблицы. Таким списком удобно пользоваться, поскольку его можно свободно «перетаскивать» мышкой в любое удобное место. Для этого на вкладке «Разработчик» нужно активизировать режим конструктора.
4 — Элемент ActiveX
Действуем аналогично предыдущему способу, но выбираем иконку чуть ниже — из раздела «Элементы ActiveX».
Определяем перечень допустимых значений (1). Обратите внимание, что здесь для показа можно выбирать сразу несколько колонок. Затем выбираем адрес, по которому будет вставлена нужная позиция из перечня (2).Указываем количество столбцов, которые будут использованы как исходные данные (3), и номер столбца, из которого будет происходить выбор для вставки на лист (4). Если укажете номер столбца 2, то в А5 будет вставлена не фамилия, а должность. Можно также указать количество строк, которое будет выведено в перечне. По умолчанию — 8. Остальные можно прокручивать мышкой (5).
Этот способ сложнее предыдущего, но зато возвращает сразу значение, а не его номер. Поэтому необходимость в промежуточной ячейке и обработке ее при помощи ИНДЕКС — отпадает. Думаю, таким списком пользоваться гораздо удобнее.
Как сделать в Экселе выпадающий список: 3 способа
При работе с таблицами в программе MS Excel часто приходится вводить повторяющиеся значения – например, названия товаров или фамилии людей. Задачу можно упростить, применяя выпадающие списки. С их помощью экономится время на ввод и проще избежать опечаток, из-за которых пользователь должен будет заняться еще и поиском ошибок.
1 Применение комбинации клавиш
Если новые значения должны выбираться из тех, которые уже были введены выше в том же столбце, можно воспользоваться методикой создания не совсем типичного выпадающего списка. На вид такая ячейка не отличается от любой другой, потому что не содержит направленной вниз стрелки. А алгоритм включает такие этапы:
- Выбрать ячейку под списком, в котором содержатся его значения.
- Нажать сочетание клавиш «Alt» + «стрелка вниз».
- Выбрать нужное значение.
После выбора подходящего варианта формат ячейки останется без изменений. При необходимости, данные можно стереть, заменив любыми другими, не настраивая новое форматирование. Но есть у такой возможности сделать выпадающую ячейку в Эксель и несколько минусов.
У пользователя не получится выбрать ни одного значения, если оно не было уже введено раньше в том же столбце. Не получится использовать и данные из других мест таблицы. А еще этот способ не сработает, если одна из ячеек перед таким выпадающим списком будет пустой. Или объект находится не сразу под значениями, а на несколько строк ниже.
2 Использование меню
Более популярный способ — заранее создать перечень значений, из которого можно будет выбрать подходящий вариант. Принцип составления такого выпадающий список в ячейке Эксель следующий:
- Выписать в столбик данные, которые будут использоваться в списке. Это может быть, например, количество ядер и потоков для процессора.
- Выбрать ячейку, в которой будет находиться нужный объект.
- Перейти на вкладку «Данные».
- Найти и выбрать функцию «Проверка данных».
- Выбрать в поле типа данных пункт «Список».
- Указать в источнике адреса уже введенных значений. Или ввести их самостоятельно, через запятую. В этом случае экономится место в таблице, но повышается риск сделать ошибку еще на этапе создания списка. И изменять значения будет сложнее.
Теперь в этом месте будет находиться выпадающий список с выбранными значениями. Причем, если информация из выбранного в качестве источника данных диапазона изменится, появятся изменения и в выпадающем перечне.
Формат можно легко копировать в нужную ячейку. Например, выделять и перетаскивать вниз. Для этого придется навести курсор на нижний правый угол ячейки, зажать левую кнопку мышки и протянуть до конца выбранного диапазона.
Автоматическое заполнение, скорее всего, будет некорректным. Но при выборе значений вручную они будут выбираться из нужного диапазона — это становится возможным благодаря знакам доллара перед каждой частью адреса источника ($I$6: $I$8).
Существует еще один способ указания диапазона, который будет применяться для создания выпадающего списка. Для этого можно выделить перечень значений (например, названий процессоров) и на вкладке «Данные» в крайней форме слева дать им свое название.
Теперь при создании ячейки с выпадающими значениями можно выбирать в качестве источника не диапазоны, а их названия. Например, указав здесь «=процы» (название действует только для определенного листа или книги Excel) можно получить список процессоров.
3 Создание нового элемента управления
Еще один способ, как в ячейке Эксель сделать выпадающий список, требует от пользователя создания нового элемента управления. Алгоритм создания включает такие действия:
- Включить режим разработчика. Для это следует кликнуть правой кнопкой мыши по ленте Excel, открыть настройки и поставить галочку напротив соответствующего пункта.
- Перейти к появившейся новой вкладке. В меню «Вставить» выбрать поле со списком.
- Кликнуть по любому месту таблицы. После того, как там появилось нужное поле, открыть его контекстное меню и выбрать «Формат объекта». Здесь следует указать связь с ячейкой, в которой будет находиться номер значения в списке (48/96 — второй, поэтому в ячейке G2 находится «2»). А еще — диапазон, откуда берутся данные.
Полученный элемент можно перемещать, устанавливая в любом месте листа. Или копировать, создавая дубликаты. Правда, при создании копии придется выбрать связь с другой ячейкой — иначе во всех элементах будут находиться одинаковые данные.
Способ является сравнительно сложным, и его не стоит рассматривать в качестве основного. Зато после создания готового выпадающего списка в Экселе его можно будет расположить в любом месте таблицы. Для перетаскивания придется включить режим «Конструктора» на вкладке «Разработчик» и использовать правую кнопку мыши.
Читайте также:
- Как выбрать монитор для компьютера и наслаждаться «картинкой»
- Настраиваем VPN сразу на роутере: как это сделать?
Была ли статья интересна?
00Поделиться ссылкой
Подпишитесь на рассылкус самыми популярными статьями Присылаем подборку от редакции раз в неделю
Подписаться
Нажимая на кнопку «Подписаться»,
Вы даете согласие на обработку персональных данных
Комментарии
Обсудить (0)
Пока комментариев нет. Начните обсуждение!
Как установить шрифт в Фотошоп: 3 способа
Как построить график в Эксель: пошаговая инструкция
Читайте нас в социальных сетях
Реклама на CHIP
Контакты
Показать еще
Excel 2007-2013
Можно повысить эффективность использования листа, вставляя в него раскрывающиеся списки. Пользователю, использующему ваш лист, достаточно щелкнуть стрелку, а затем запись в списке. Для создания списка следует использовать функцию проверки данных.
-
Выберите ячейки, в которой должен отображаться список.
-
На ленте на вкладке «Данные» щелкните «Проверка данных».
-
На вкладке «Параметры» в поле «Тип данных» выберите пункт «Список».
-
Щелкните в поле «Источник» и введите текст или числа (разделенные запятыми), которые должны появиться в списке.
-
Чтобы закрыть диалоговое окно, в щелкните «ОК».
Excel Online
Раскрывающиеся списки пока что невозможно создавать в Excel Online, бесплатной сетевой версии Excel. Однако вы можете просматривать и работать с раскрывающимся списком в Excel Online, если добавите его на свой лист в классическом приложении Excel. Вот как это можно сделать, если у вас имеется классическое приложение Excel:
-
В Excel Online щелкните «Открыть в Excel» для открытия файла в классическом приложении Excel.
-
В классическом приложении создайте раскрывающийся список.
-
Теперь сохраните вашу книгу.
-
В Excel Online откройте книгу для просмотра и использования раскрывающегося списка.
Excel для Mac 2011
Можно повысить эффективность использования листа, вставляя в него раскрывающиеся списки. Пользователю, использующему ваш лист, достаточно щелкнуть стрелку, а затем запись в списке. Для создания списка следует использовать функцию проверки данных.
-
Выберите ячейки, в которой должен отображаться список.
-
На вкладке «Данные» в разделе «Инструменты» щелкните «Проверить».
-
Щелкните вкладку «Параметры», а затем во всплывающем меню «Разрешить» выберите пункт «Список».
-
Щелкните в поле «Источник» и введите текст или числа (разделенные запятыми), которые должны появиться в списке.
-
Чтобы закрыть диалоговое окно, в щелкните «ОК».
Как убрать (удалить) выпадающий список в Excel
Откройте окно настройки выпадающего списка и выберите «Любое значение» в разделе «Тип данных».
Ненужный элемент исчезнет.
Пробелы в названии при создании связанного выпадающего списка
В случае если заголовок категории или группы содержит в своем названии больше одного слова, необходимо решить проблему с пробелами. Дело в том, что именованные диапазоны не разрешают использовать пробелы в названиях. И для этого существует лайфхак.
Именуя диапазон значений, важно использовать вместо пробела нижнее подчеркивание «_». Например, «Мясные_блюда». Однако есть вероятность упустить данное правило в одном из названий, и в результате будет ошибка при выполнении операции. Можно в самих названиях использовать обычный пробел, а в момент подстановки в список, поменять его на подчеркивание, используя формулу ПОДСТАВИТЬ:
=ПОДСТАВИТЬ(F3;» «;»_») без кавычек.
Итоговая формула выглядит так:
=ДВССЫЛ(ПОДСТАВИТЬ($F$3;» «;»_»)) без кавычек.
Стоит обратить внимание на отсутствие пробелов в названии в начале и в конце, чтобы избежать некорректного вывода заголовков. Автоматизировать данный процесс при построении имени также можно посредством функции:
=ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»)) без кавычек.
Пример выпадающего списка в Excel
В этом случае у Источника в значении стоит небольшая кнопка «Вниз», на которую можно кликнуть.
Выпадает список, из которого можно выбрать один из пунктов из заранее подготовленного свода данных.
Теперь мы можем выбрать его, дополнительно добавлены функции меняющие значения в зависимости от выбранного пункта.
Зависимые раскрывающиеся списки
Чтобы создать зависимые выпадающие списки, следуйте дальнейшей пошаговой инструкции:
- Для начала вам нужно создать именованный диапазон. Перейдите во вкладку «Формулы», затем выберите «Диспетчер имён» и «Создать».
Выделяем диапазон ячеек со значением, открываем вкладку «Формулы», нажимаем «Диспетчер имен»
Нажимаем «Создать» - Введите имя и диапазон, затем нажмите «ОК». Если вы перед этим выделяли нужные ячейки мышкой, то диапазон будет указан автоматически. Также примите к сведению, что имя диапазона должно быть уникальным и не должно содержать знаков препинания с пробелами.
Пишем имя «Деревья», нажимаем «ОК» - По такой же методике сделайте столько именованных диапазонов, сколько логических зависимостей хотите создать. В данном примере это ещё два диапазона: «Кустарники» и «Травы».
Создаем таким же способом остальные диапазоны - Откройте вкладку «Данные» (в первом способе указан путь к ней) и укажите в источнике названия именованных диапазонов, как это показано на скриншоте.
В поле «Источник» указываем ячейки с названием диапазонов, нажимаем «ОК»
Выпадающий список с названием диапазона ячеек - Теперь вам нужно создать дополнительный раскрывающийся список по той же схеме. В этом списке будут отражаться те слова, которые соответствуют заголовку. Например, если вы выбрали «Дерево», то это будут «береза», «липа», «клен» и так далее. Чтобы осуществить это, повторите вышеуказанные шаги, но в поле ввода «Источник» введите функцию «=ДВССЫЛ(E1)». В данном случае «E1» – это адрес ячейки с именем первого диапазона. По такому же способу вы сможете создавать столько взаимосвязанных списков, сколько вам потребуется.
В поле ввода «Источник» вводим функцию «=ДВССЫЛ(E1)», нажимаем «ОК»
Результат выпадающего связанного списка
Теперь вам известны несколько способов, как создать выпадающее меню в Excel-таблице. Это может пригодиться вам в ряде случаев, а особенно – в проверке данных. Выбор правильного способа должен осуществляться в зависимости от того, с каким типом таблицы вы работаете. Если это «одноразовая» таблица, то подойдёт первый способ – он быстрый и лёгкий. Если же таблица требует постоянных изменений, то лучше всего будет воспользоваться тем способом, который включает в себя создание «умных таблиц» и именованных диапазонов.
Создание дополнительного списка
Самым удобным, и одновременно наиболее функциональным способом создания выпадающего списка, является метод, основанный на построении отдельного списка данных.
Прежде всего, делаем таблицу-заготовку, где собираемся использовать выпадающее меню, а также делаем отдельным списком данные, которые в будущем включим в это меню. Эти данные можно размещать как на этом же листе документа, так и на другом, если вы не хотите, чтобы обе таблице располагались визуально вместе.
Выделяем данные, которые планируем занести в раскрывающийся список. Кликаем правой кнопкой мыши, и в контекстном меню выбираем пункт «Присвоить имя…».
Открывается форма создания имени. В поле «Имя» вписываем любое удобное наименование, по которому будем узнавать данный список. Но, это наименование должно начинаться обязательно с буквы. Можно также вписать примечание, но это не обязательно. Жмем на кнопку «OK».
Переходим во вкладку «Данные» программы Microsoft Excel. Выделяем область таблицы, где собираемся применять выпадающий список. Жмем на кнопку «Проверка данных», расположенную на Ленте.
Открывается окно проверки вводимых значений. Во вкладке «Параметры» в поле «Тип данных» выбираем параметр «Список». В поле «Источник» ставим знак равно, и сразу без пробелов пишем имя списка, которое присвоили ему выше. Жмем на кнопку «OK».
Выпадающий список готов. Теперь, при нажатии на кнопку у каждой ячейки указанного диапазона будет появляться список параметров, среди которых можно выбрать любой для добавления в ячейку.
Связанный список
У пользователей также есть возможность создавать и более сложные взаимозависимые списки (связанные). Это значит, что список в одной ячейке будет зависеть от того, какое значение мы выбрали в другой. Например, в единицах измерения товара мы можем задать килограммы или литры. Если вы выберем в первой ячейке кефир, во второй на выбор будет предложено два варианта – литры или миллилитры. А если в первую ячейки мы остановимся на яблоках, во второй у нас будет выбор из килограммов или граммов.
- Для этого нужно подготовить как минимум три столбца. В первом будут заполнены наименования товаров, а во втором и третьем – их возможные единицы измерения. Столбцов с возможными вариациями единиц измерения может быть и больше.
- Сначала создаем один общий список для всех наименований продуктов, выделив все строки столбца “Наименование”, через контекстное меню выделенного диапазона.
- Задаем ему имя, например, “Питание”.
- Затем таким же образом формируем отдельные списки для каждого продукта с соответствующими единицами измерения. Для большей наглядности возьмем в качестве примера первую позицию – “Лук”. Отмечаем ячейки, содержащие все единицы измерения для этого продукта, через контекстное меню присваиваем имя, которое полностью должно совпадать с наименованием.
Таким же образом создаем отдельные списки для всех остальных продуктов в нашем перечне. - После этого вставляем общий список с продуктами в верхнюю ячейку первого столбца основной таблицы – как и в описанном выше примере, через кнопку “Проверка данных” (вкладка “Данные”).
- В качестве источника указываем “=Питание” (согласно нашему названию).
- Затем кликаем по верхней ячейке столбца с единицами измерения, также заходим в окно проверки данных и в источнике указываем формулу “=ДВССЫЛ(A2)“, где A2 – номер ячейки с соответствующим продуктом.
- Списки готовы. Осталось его только растянуть их все строки таблицы, как для столбца A, так и для столбца B.
Источники
- https://mister-office.ru/funktsii-excel/dropdown-list-auto-excel.html
- https://l-a-b-a.com/blog/1715-kak-stroit-vypadayushchie-spiski-v-excel
- https://MicroExcel.ru/vypadayushhie-spiski/
- https://ichip.ru/sovety/ekspluataciya/kak-sdelat-v-eksele-vypadayushchij-spisok-3-sposoba-762462
- https://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B0%D1%81%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D1%8E%D1%89%D0%B5%D0%B3%D0%BE%D1%81%D1%8F-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%B2-excel-0a5b17bf-a950-e676-d759-131d9c9de9a4
- https://WindowsTips.ru/vypadayushhij-spisok-v-excel
- https://sysadmin-note.ru/article/kak-v-excel-sdelat-vypadayushhij-spisok/
- https://SeoPulses.ru/kak-sdelat-vipadayushiy-spisok-excel/
- https://pc-consultant.ru/rabota-na-komp-yutere/vypadajushhij-spisok-v-excel/
- https://lumpics.ru/how-to-make-a-dropdown-list-in-excel/