Макрос для списка на листе excel

Ранее в публикациях рассказывалось о том, как создается выпадающий список в ячейках для упрощения внесения данных.
Ссылка на описания метода создания связанного выпадающего списка ниже:

Как сделать связанный выпадающий список в «Эксель», зависящий от значения в соседней ячейке.

В данной публикации описана процедура создания выпадающих списков, которые записывают в ячейки по нескольку значений.

Для начала следует создать обыкновенный выпадающий список.

Для этого необходимо:

  • Войти во вкладку «Данные»;
  • Выбрать опцию «Проверка данных»;
  • Выбрать «Список»;
  • Указать диапазон, из которого будет выбираться выпадающий список или создать список прямо в появившемся поле через знак «;».

После этой процедуры следует записать макрос в документ.

Для записи макроса следует:

  • Открыть вкладку «Разработчик» ( Если вкладка отключена, включите ее в разделе Файл=> Параметры=> Настройка Ленты);

Разработчик

  • Во вкладке «Разработчик» выбрать кнопку «Просмотр кода»;
  • В открывшееся окно записать макрос;

Макрос

  • Закрыть окно с макросом.

Давайте рассмотрим несколько макросов с выпадающими списками.

Первый макрос со смещением списка в сторону (горизонтально).

Горизонтальный список
Текст макроса:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«B2:B10»)) 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
Необходимо обратить внимание, что в строке :
If Not Intersect(Target, Range(«B1:B10»)) Is Nothing And Target.Cells.Count = 1 Then
Значения («B1:B10»)— это диапазон в пределах которого будет работать выпадающий список.
Аналогичным образом можно создать выпадающий список со смещением вниз и выпадающий список, записывающий в ячейку несколько значений через знак табуляции или пробел.

Макрос выпадающего списка со смещением вниз:

Вертикальный список
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«C2:F2»)) 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(«B2:B5»)) 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

В строке If Not Intersect(Target, Range(«B2:B5»)) Is Nothing And Target.Cells.Count = 1 Then
указывается диапазон действия макроса.
В строке
Target = Target & «//» & newVal
указывается разделитель «//». Его можно заменить на любой знак препинания, текст или поставить пробел.

Выпадающий список в ячейке листа

Видео

 У кого мало времени и нужно быстро ухватить суть — смотрим обучающее видео:

Кому интересны подробности и нюансы всех описанных способов — дальше по тексту.

Способ 1. Примитивный

Один щелчок правой кнопкой мыши по пустой ячейке под столбцом с данными, команда контекстного меню Выбрать из раскрывающегося списка (Choose from drop-down list) или нажать сочетание клавиш ALT+стрелка вниз. Способ не работает, если ячейку и столбец с данными отделяет хотя бы одна пустая строка или вам нужен товар, который еще ни разу не вводился выше:

dropdown1.gif

Способ 2. Стандартный

  1. Выделите ячейки с данными, которые должны попасть в выпадающий список (например, наименованиями товаров).
  2. Если у вас Excel 2003 или старше — выберите в меню Вставка — Имя — Присвоить (Insert — Name — Define), если Excel 2007 или новее — откройте вкладку Формулы (Formulas) и воспользуйтесь кнопкой Диспетчер имен (Name Manager), затем Создать. Введите имя (можно любое, но обязательно без пробелов и начать с буквы!) для выделенного диапазона (например Товары). Нажмите ОК.
  3. Выделите ячейки (можно сразу несколько), в которых хотите получить выпадающий список и выберите в меню (на вкладке) Данные — Проверка (Data — Validation). Из выпадающего списка Тип данных (Allow) выберите вариант Список (List) и введите в строчку Источник (Source) знак равенства и имя диапазона (т.е. =Товары).

dropdown2.gif

Нажмите ОК.

Все! Наслаждайтесь!

dropdown3.gif

Важный нюанс. В качестве источника данных для списка может выступать и динамический именованный диапазон, например прайс-лист. Тогда при дописывании новых товаров к прайсу, они будут автоматически добавляться к выпадающему списку. Еще одним часто используемым трюком для таких списков является создание связанных выпадающих списков (когда содержимое одного списка меняется в зависимости от выбора в другом).

Способ 3. Элемент управления

Этот способ представляет собой вставку на лист нового объекта — элемента управления «поле со списком» с последующей привязкой его к диапазонам на листе. Для этого:

  1. В Excel 2007/2010 откройте вкладку Разработчик (Developer). В более ранних версиях — панель инструментов Формы (Forms) через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms). Если этой вкладки не видно, то нажмите кнопку Офис — Параметры Excel флажок Отображать вкладку Разработчик на ленте (Office Button — Excel Options — Show Developer Tab in the Ribbon)
  2. Найдите значок выпадающего списка среди элементов управления форм (не ActiveX!). Ориентируйтесь по всплывающим подсказкам — Поле со списком:
    dropdown4.gif
    Щелкните по значку и нарисуйте небольшой горизонтальный прямоугольник — будущий список.
  3. Щелкните по нарисованному списку правой кнопкой мыши и выберите команду Формат объекта (Format control). В появившемся диалоговом окне задайте
    • Формировать список по диапазону — выделите ячейки с наименованиями товаров, которые должны попасть в список
    • Связь с ячейкой — укажите ячейку куда нужно выводить порядковый номер выбранного пользователем элемента.
    • Количество строк списка — сколько строк показывать в выпадающем списке. По умолчанию — 8, но можно больше, чего не позволяет предыдущий способ.

После нажатия на ОК списком можно пользоваться.

Чтобы вместо порядкового номера элемента выводилось его название можно дополнительно использовать функцию ИНДЕКС (INDEX), которая умеет выводить содержимое нужной по счету ячейки из диапазона:

dropdown6.gif

Способ 4. Элемент ActiveX

Этот способ частично напоминает предыдущий. Основное отличие в том, что на лист добавляется не элемент управления, а элемент ActiveX «Поле со списком» из раскрывающегося набора под кнопкой Вставить (Insert) с вкладки Разработчик (Developer):

dropdown7.gif

Механизм добавления тот же — выбираем объект из списка и рисуем его на листе. А вот дальше начинаются серьезные отличия от предыдущего способа.

Во-первых, созданный выпадающий ActiveX список может находится в двух принципиально разных состояниях — режиме отладки, когда можно настраивать его параметры и свойства, двигать его по листу и менять размеры и — режиме ввода, когда единственное, что можно — выбирать из него данные. Переключение между этими режимами происходит с помощью кнопки Режим Конструктора (Design Mode) на вкладке Разработчик (Developer):

dropdown8.gif

Если эта кнопка нажата, то мы можем настраивать параметры выпадающего списка, нажав соседнюю кнопку Свойства (Properties), которая откроет окно со списком всех возможных настроек для выделенного объекта:

dropdown9.gif

Самые нужные и полезные свойства, которые можно и нужно настроить:

  • ListFillRange — диапазон ячеек, откуда берутся данные для списка. Выделить мышью диапазон он не даст, надо просто вписать его руками с клавиатуры (например, Лист2!A1:A5)
  • LinkedCell — связанная ячейка, куда будет выводиться выбранный из списка элемент
  • ListRows — количество отображаемых строк
  • Font — шрифт, размер, начертание (курсив, подчеркивание и т.д. кроме цвета)
  • ForeColor и BackColor — цвет текста и фона, соответственно

Большим и жирным плюсом этого способа является возможность быстрого перехода к нужному элементу в списке при вводе первых букв с клавиатуры(!), чего нет у всех остальных способов. Приятным моментом, также, является возможность настройки визуального представления (цветов, шрифтов и т.д.)

При использовании этого способа, также возможно указывать в качестве ListFillRange не только одномерные диапазоны. Можно, например задать диапазон из двух столбцов и нескольких строк, указав дополнительно, что выводить нужно два столбца (свойство ColumnCount=2). Тогда можно получить весьма привлекательные результаты, окупающие все потраченные на дополнительные настройки усилия:

dropdown10.gif

Итоговая сравнительная таблица всех способов

  Способ 1. Примитивный Способ 2. Стандартный Способ 3. Элемент управления Способ 4. Элемент ActiveX
Сложность низкая средняя высокая высокая
Возможность настройки шрифта, цвета и т.д. нет нет нет да
Количество отображаемых строк всегда 8 всегда 8 любое любое
Быстрый поиск элемента по первым буквам нет нет нет да
Необходимость использования дополнительной функции ИНДЕКС нет нет да нет
Возможность создания связанных выпадающих списков нет да нет нет

Ссылки по теме:

  • Выпадающий список с данными из другого файла
  • Создание зависимых выпадающих списков
  • Автоматическое создание выпадающих списков надстройкой PLEX
  • Выбор фото из выпадающего списка
  • Автоматическое удаление уже использованных элементов из выпадающего списка
  • Выпадающий список с автоматическим добавлением новых элементов

Сегодня я покажу, как заполнить однотипные листы, по шаблону Excel на основе списка.

Переименуем в книге первый лист, это у нас будет список, допустим сотрудников.

лист со списком сотрудников

Второй лист назовём шаблон, в нем будет находиться таблица, которую сотрудники будут заполнять либо вы будите заполнять для данных сотрудников из списка.

лист с шаблоном таблицы

Вот такая будет табличка, потом покажу вам одну формулу в ячейке, как имя листа поместить в ячейку.

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

Сохраним наш документ как книга Excel с поддержкой макросов с расширением так xlsm, на ленте должен находиться в последнем пункте — пункт Разработчик, если его нет, то в файл, параметры нужно будет в настройках ленты добавить этот пункт, отметьте его галочкой.

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

таблица с кнопкой

Перейдём на вкладке Разработчик в Visual Basic либо нажмем Alt+F11, для того чтобы открылся редактор макросов.

Нажмем в меню insertmodule, напишем модуль Sub ListTempl(), объявим переменную tmpName.

редактор VBA с кодом

Получим данные нашего списка из листа список в переменную tmpName, объявив диапазон А1:А3. Но если нужно будет больше, то будем менять это значение. Пока в примере оставим так.

Напишем цикл for от 1 до 3, по сколько мы знаем конечное количество записей нашего списка и теперь сделаем копию листа шаблон, создадим новый лист копии листа с шаблоном, шаблон и присвоим имя каждому листу, значение то которое у нас находится в списке. Закончим цикл next i.

Теперь нажмем правой кнопкой на кнопке, назначить макрос, выберем макрос ListTempl, OK, сохранить.

Нажмем на кнопку, сформировались три листа с название по списку сотрудников, которые были в списке. И можно будет заполнять или печатать.

Sub ListTempl()
Dim tmpName
tmpName = Sheets("Шаблон").Range("a1:a3")

For i = 1 To 3
Sheets("Шаблон").Copy Before:=Sheets(i)
Sheets(i).Name = tmpName(i, 1)
Next i

End Sub

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

заполненные таблицы по шаблону

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

Давайте добавим теперь в шапку шаблона формулу, которая будет в ячейку присваивать имя листа, сейчас формула находится на листе с названием шаблон.

Эта формула позволяет получить из значение листа имя листа в ячейку, происходит разбор пути файла до листа.

=ПРОПНАЧ(ПСТР(ЯЧЕЙКА("имяфайла";A1);ПОИСК("]";ЯЧЕЙКА("имяфайла";A1))+1;99))

Давайте допишет для примера как это бывает в таблицах, «Список для », а далее будет фамилия поставляться из названия листа.

Нажмем на кнопку, и как видите, сформировались все листы, и в каждом листе, в этой ячейки у нас будет находиться имя сотрудника.

заполненные листы по шаблону

Ну либо того, что у вас будет находилась в списке, при условии, что эти значения уникальны.

Если же всё-таки вам нужно будет сделать два листа для одной уникальной записи, тут могу предложить следующее.

Изменим в коде диапазон на А4, так как у нас ещё один пункт добавился и в цикле исправим на четыре.

Sub ListTempl()
Dim tmpName
tmpName = Sheets("Шаблон").Range("a1:a4")

For i = 1 To 4
Sheets("Шаблон").Copy Before:=Sheets(i)
Sheets(i).Name = tmpName(i, 1)
Next i

End Sub

Удалим всё снова и нажмем на кнопку. Опять ошибка, как вариант предлагаю добавить пробел в конце названия дублируемого пункта списка.

В итоге у нас получилось два Ивановых, конечно лучше использовать уникальные значения, тогда этот пример будет достаточно хорошо вам подходить.

листы с не уникальными записями

Смотрите видео: Листы в Excel из списка по шаблону

Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

На чтение 5 мин Опубликовано 26.01.2021

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

Содержание

  1. Список листов с помощью формулы
  2. Как составить список листов через VBA
  3. Надстройки для составления списка листов
  4. Как подсчитать количество листов в книге

Список листов с помощью формулы

Этот способ основан на использовании функции, которую нельзя найти в Менеджере. Она связана с макросами Excel 4.0. Чтобы применить формулу на практике, необходимо пройти дополнительный шаг, редко встречающийся в работе с функциями – зайти в диспетчер имен и добавить туда выражение.

  1. Переходим на вкладку «Формулы» и кликаем по кнопке «Диспетчер имен». Опция находится в разделе «Определенные имена».

Как получить список листов книги Excel

  1. Нажимаем «Создать» в открывшемся диалоговом окне.

Как получить список листов книги Excel

  1. Записываем новое имя в верхнем поле, выбираем область «Книга» (обычно она установлена по умолчанию) и записываем в графу «Диапазон» эту формулу: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1; НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)
  2. После заполнения всех полей жмем «ОК». В книге Excel пока ничего не изменится, но эти шаги помогут в будущем. Окно диспетчера имен можно закрыть.

Как получить список листов книги Excel

  1. Открываем лист, где будет расположен список. Выбираем ячейку и записываем в ней формулу с только что созданным именем: =ИНДЕКС(Список_листов;СТРОКА()). Нажмите Enter, и в ячейке появится название первого листа.

Как получить список листов книги Excel

  1. Необходимо вывести все названия листов в столбец. Для этого зажимаем маркер заполнения, который находится в правом нижнем углу выбранной ячейки, и выделяем нужное количество ячеек. В таблице-примере 4 листа столько и было выделено ячеек.

Как получить список листов книги Excel

  1. Создадим список, из которого можно перейти на каждый лист. Выберите другую пустую ячейку и вставьте эту формулу: =ГИПЕРССЫЛКА(«#»&A1&»!A1″;»»&A1).

Обратите внимание! Ячейка A1 прописывается в формуле, чтобы пользователи могли перейти на конкретную ячейку каждого листа. После нажатия Enter появится кликабельное название листа.

Как получить список листов книги Excel

  1. Полный список с гиперссылками можно создать так же, с помощью маркера заполнения.
  2. Если название листа изменено, придется перезаполнить списки – для этого нужно просто удалить их, снова вставить те же формулы и выделить ячейки ниже.

Важно! Невозможно сделать ссылку на лист с диаграммой в Excel. На экране появляется сообщение об ошибке, переход не происходит.

Как составить список листов через VBA

Существует другой способ составления списка листов из книги – можно подключить пользовательскую функцию через редактор Visual Basic. Такой метод может показаться сложным, но это не так, если воспользоваться шаблоном для добавления функции в программу.

  1. Открываем VBA с помощью комбинации клавиш «Alt+F11». Если при нажатии F11 снижается яркость или срабатывает другая функция, установленная на эту кнопку, зажмите клавишу Fn.
  2. Нажмите «Вставить» (Insert) на верхней панели и выберите в открывшемся меню пункт «Модуль» (Module).

Как получить список листов книги Excel

  1. Вставляем в свободное поле этот текст:

Function SheetList(N As Integer)

SheetList = ActiveWorkbook.Worksheets(N).Name

End Function

  1. Далее можно закрыть окно Visual Basic, потому что этот инструмент больше не понадобится, а функция уже добавлена в программу.

Как получить список листов книги Excel

  1. Открываем лист для списка и вводим формулу в начальную ячейку. Теперь не нужно длинное выражение, чтобы создать список листов. Новая формула выглядит так: =SheetList(СТРОКА()).
  2. Нажимаем Enter и получаем название листа в ячейке. Маркером заполнения создаем список.

Как получить список листов книги Excel

  1. Для гиперссылок придется использовать ту же длинную формулу: =ГИПЕРССЫЛКА(«#»&A1&»!A1″;»»&A1).

Надстройки для составления списка листов

Надстройки – это дополнения для Microsoft Excel, которые создаются продвинутыми пользователями. Компания Microsoft рассказывает на официальном сайте о возможности подключить надстройки, но не предлагает скачать дополнения, поэтому обычно их загружают из других источников.

Всегда проверяйте загрузки на вредоносные элементы с помощью антивирусной программы.

Существуют платные и бесплатные надстройки. Сегодня рассмотрим набор дополнений для Excel 2007-2019 под названием «Ёxcel». Разработчик распространяет файл на своем сайте за добровольное пожертвование. Установите надстройку по инструкции – после этого можно приступать к составлению списка.

  1. Открываем лист, где будет размещен список, и нажимаем левой кнопкой мыши на начальную ячейку будущего перечисления.
  2. На вкладке надстройки находим кнопку «Листы». Кликаем по ней, чтобы открылось меню, и выбираем пункт «Получить список листов книги». Скриншот создателя надстройки:

Как получить список листов книги Excel

  1. Выбираем, какие листы показать в списке. Для простейшего перечисления названий листов кликаем по пункту «Простой список» и жмем на кнопку с галочкой в левом нижнем углу диалогового окна.
  2. На экране появится список листов. Если выставить настройки сложнее, то внешний вид списка немного изменится.

Как подсчитать количество листов в книге

Иногда в книгах Excel появляется много листов, например если документ относится к крупному проекту. Выяснить, сколько в файле страниц, можно с помощью функции ЛИСТЫ.

Обратите внимание! Функция работает только в версиях Microsoft Excel от 2013.

  1. Выбираем пустую ячейку и записываем в ней формулу: =ЛИСТЫ(). Не обязательно заполнять аргумент «Ссылка», если нужно посчитать листы в одной книге.
  1. Жмем Enter и получаем числовое значение.

Как получить список листов книги Excel

Если все листы переименованы, и нужно узнать их номера, воспользуйтесь функцией ЛИСТ. Эта формула также доступна с 2013-й версии. У функции ЛИСТ один аргумент – «Значение». Если аргумент не заполнен, после нажатия клавиши Enter в ячейке появится номер того же листа, где была введена формула. Простое выражение с ЛИСТ выглядит так: =ЛИСТ().

Оцените качество статьи. Нам важно ваше мнение:

Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.

Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.

Создание раскрывающегося списка

Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».

Создание выпадающего списка.

Ввести значения, из которых будет складываться выпадающий список, можно разными способами:

  1. Вручную через «точку-с-запятой» в поле «Источник».
  2. Ввод значений.

  3. Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
  4. Проверка вводимых значений.

  5. Назначить имя для диапазона значений и в поле источник вписать это имя.

Имя диапазона.
Раскрывающийся список.

Любой из вариантов даст такой результат.



Выпадающий список в Excel с подстановкой данных

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

  1. Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
  2. Форматировать как таблицу.

  3. Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
  4. Выпадающий список.

  5. Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:

Ввод значения в источник.

Протестируем. Вот наша таблица со списком на одном листе:

Список и таблица.

Добавим в таблицу новое значение «елка».

Добавлено значение елка.

Теперь удалим значение «береза».

Удалено значение береза.

Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.

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

Ввод данных из списка.

  1. Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
  2. Создание имени.

  3. Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
  4. Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
  5. Сообщение об ошибке.

  6. Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
  7. 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
     
  8. Сохраняем, установив тип файла «с поддержкой макросов».
  9. Сообщение об ошибке.

  10. Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».

Макрос.

Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».

Нажмем «Да» и добавиться еще одна строка со значением «баобаб».

Выпадающий список в Excel с данными с другого листа/файла

Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.

  1. Делаем активной ячейку, куда хотим поместить раскрывающийся список.
  2. Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).

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

Как сделать зависимые выпадающие списки

Возьмем три именованных диапазона:

Три именованных диапазона.

Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.

  1. Создадим первый выпадающий список, куда войдут названия диапазонов.
  2. Список диапазонов.

  3. Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
  4. Таблица со списком.

  5. Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
  6. Второй раскрывающийся список.

    Выбор нескольких значений из выпадающего списка Excel

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

    1. Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
    2. 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
       
    3. Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
    4. 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
       
    5. Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.

    6. 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

    Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.

    Выпадающий список с поиском

    1. На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
    2. Вставить ActiveX.

    3. Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
    4. Элемент ActiveX.

    5. Жмем «Свойства» – открывается перечень настроек.
    6. Свойства ActiveX.

    7. Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.

    Скачать пример выпадающего списка

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

вывести списком все листы, для удобства работы

Гость

Дата: Пятница, 18.05.2012, 11:25 |
Сообщение № 1

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

 

Ответить

Hugo

Дата: Пятница, 18.05.2012, 11:30 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

Замечаний:
0% ±


2010, теперь уже с PQ

Не пробовали нажать ПКМ на стрелочках навигации по листам?


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

Гость

Дата: Пятница, 18.05.2012, 11:38 |
Сообщение № 3

Классно… Я даже и не знала про такую функцию…
Спасибо, что просвятили)))

 

Ответить

Alex_ST

Дата: Пятница, 18.05.2012, 14:39 |
Сообщение № 4

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3176


Репутация:

604

±

Замечаний:
0% ±


2003

Quote (Гость)

Спасибо, что просвятили

Игорь, а ты у нас оказывается святой, а не просветитель biggrin



С уважением,
Алексей
MS Excel 2003 — the best!!!

 

Ответить

ivanov1974

Дата: Пятница, 18.05.2012, 19:52 |
Сообщение № 5

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 149


Репутация:

1

±

Замечаний:
0% ±


Меня тоже интересует этот ворос. Но я ничего не понял, что такое ПКМ?

 

Ответить

Serge_007

Дата: Пятница, 18.05.2012, 21:51 |
Сообщение № 6

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (ivanov1974)

что такое ПКМ?

Правая Кнопка Мыши


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

ivanov1974

Дата: Воскресенье, 20.05.2012, 15:36 |
Сообщение № 7

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 149


Репутация:

1

±

Замечаний:
0% ±


Спасибо!

 

Ответить

nikitan95

Дата: Воскресенье, 20.05.2012, 16:51 |
Сообщение № 8

Группа: Проверенные

Ранг: Обитатель

Сообщений: 410


Репутация:

0

±

Замечаний:
0% ±


2016

ПКМ конечно не плохой вариант, а если листов к примеру больше ста? В смысле что можно ли посредством функций вывести на первом листе список листов и при нажатии на них перейти на соответствующий лист?

Сообщение отредактировал nikitan95Воскресенье, 20.05.2012, 16:52

 

Ответить

Serge_007

Дата: Воскресенье, 20.05.2012, 17:15 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (nikitan95)

…можно ли посредством функций вывести на первом листе список листов?

Нет.

Альтернатива — см. вложение. Макросы должны быть разрешены


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

nikitan95

Дата: Вторник, 22.05.2012, 08:06 |
Сообщение № 10

Группа: Проверенные

Ранг: Обитатель

Сообщений: 410


Репутация:

0

±

Замечаний:
0% ±


2016

спасибо, Сергей! Превосходное решение. Думаю, многим будет полезно. Виват!

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 12:00 |
Сообщение № 11

Сергей, а как поправить формулу на листе «Список»
[vba]

Code

=ЕСЛИ(ПРОВЕРКА;ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»)

[/vba]
так чтобы в общем списке листок не было самого листа «Список» и пары еще заранее известных, например Март и Сентябрь?

 

Ответить

Serge_007

Дата: Пятница, 01.06.2012, 12:26 |
Сообщение № 12

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Гость)

как поправить формулу на листе «Список»

Её править не надо. Тут дело не в формуле на листе, а в именованых формулах, на которые она ссылается. Вот их и надо изменять


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 13:16 |
Сообщение № 13

возможно ошибаюсь, но ведь в принципе возможно написать через условие на совпадение имени в заданным и при выполнении условия задавать пустое значение … в общем попробую, т.к. в корне не представляю как работать с именованными диапазонами для листов и как их вообще задавать =)

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 13:48 |
Сообщение № 14

предложенный мною вариант не есть хорошо,
[vba]

Code

=ЕСЛИ((ИЛИ(ЕСЛИ(ПРОВЕРКА;ЛИСТ.ИМЯ;»»)=»Март»;ЕСЛИ(ПРОВЕРКА;ЛИСТ.ИМЯ;»»)=»Сентябрь»)=ИСТИНА); «»; ЕСЛИ(ПРОВЕРКА;ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»))

[/vba]
т.к. отработав условие остается пустая ячейка и выглядеть это будет например так (исключаем «Март»):
Список
Январь 2012
Фераль

Апрель
Май
Июнь
Июль
Август

Октябрь
Ноябрь
Декабрь

а по хорошему нужно чтобы было без пустых ячеек … полистаю почитаю, может разберусь как с диапазонами работать =)

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 14:02 |
Сообщение № 15

Группа: Друзья

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

Замечаний:
0% ±


Excel 2007

Я предложил бы такой вариант:
вводите в диапазон $H$3:$H$10 не нужные, можно расширить диапазон…

Code

=ЕСЛИ(ПРОВЕРКА;ЕСЛИ(ЕНД(ПОИСКПОЗ(ЛИСТ.ИМЯ;$H$3:$H$10;0));ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»);»»)


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 14:11 |
Сообщение № 16

Quote (ABC)

Я предложил бы такой вариант:
вводите в диапазон $H$3:$H$10 не нужные, можно расширить диапазон…

кстати да, так более грамотно, но все же результат остается прежним =( а именно список имеет вид:
[vba]

Code

Список
Январь 2012
Фераль

Апрель
Май
Июнь
Июль
Август

Октябрь
Ноябрь
Декабрь

[/vba]
вместо требуемого:
[vba]

Code

Список
Январь 2012
Фераль
Апрель
Май
Июнь
Июль
Август
Октябрь
Ноябрь
Декабрь

[/vba]

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 14:39 |
Сообщение № 17

Группа: Друзья

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

Замечаний:
0% ±


Excel 2007

смотрите в ИМЕНИ ЛИСТА не должен быть ПРОБЕЛЫ.
массивная
Excel 2007

К сообщению приложен файл:

6540919.xls
(57.0 Kb)


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

Сообщение отредактировал ABCПятница, 01.06.2012, 14:49

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 15:04 |
Сообщение № 18

спасибо! воспользуюсь вашим вариантом =)

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 15:11 |
Сообщение № 19

Группа: Друзья

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

Замечаний:
0% ±


Excel 2007

Quote (Гость)

воспользуюсь вашим вариантом

не мой вариант — вариант Сергея, я добавил кои что по Вашему 2-му хотелку!!! и все… smile


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

 

Ответить

Serge_007

Дата: Пятница, 01.06.2012, 16:56 |
Сообщение № 20

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (ABC)

не мой вариант — вариант Сергея

Не, я сам этот файлик где-то когда-то нашел smile

Подшаманил, сделал свой вариант, с исключаемыми листами. Можно ещё доработать, но сейчас лень smile


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Вывод списка имён (Names) книги Excel на новый лист

Если вы хотите посмотреть, присутствуют ли в книге Excel назначенные имена,
сделать это просто — достаточно вызвать диспетчер имён нажатием комбинации клавиш Ctrl + F3: 

В диспетчере имён можно создать новые имена, просмотреть ранее созданные, и, при желании, изменить их.

Одно но: в диспетчере имён отображаются только видимые имена,

а в книге Excel могут присутствовать и скрытые.

Чтобы узнать количество имён в книге, а также посмотреть их значения,
мы воспользуемся макросом:

Sub ПолучениеСпискаИмёнВКниге()
    Dim n As Name, VisibleNames%, HiddenNames%, WB As Workbook, i As Long
    Set WB = ActiveWorkbook
    For Each n In WB.Names
        VisibleNames = VisibleNames - n.Visible
        HiddenNames = HiddenNames - Not n.Visible
    Next n
 
    If VisibleNames + HiddenNames = 0 Then
        MsgBox "Имена в книге отсутствуют (не назначены)", vbInformation
    Else
        msg = "Количество имён в книге: " & VisibleNames + HiddenNames & vbNewLine & _
              "Из них видимых: " & VisibleNames & ", скрытых: " & HiddenNames & vbNewLine & _
              vbNewLine & "Вывести на лист список всех имён?"
        If MsgBox(msg, vbInformation + vbYesNo, "Имена в открытом файле") = vbYes Then
            Dim sh As Worksheet: Set sh = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
            sh.Cells(1, 1).Resize(, 4).Value = _
            Array("№", "Имя", "Видимость", "Ссылка (значение)")
            sh.Cells(1, 1).Resize(, 4).Interior.ColorIndex = 15
            For i = 1 To WB.Names.Count
                Set n = WB.Names(i)
                sh.Cells(i + 1, 1).Resize(, 4).Value = _
                Array(i, n.Name, IIf(n.Visible, "Видимое", "Скрытое"), "'" & n.RefersTo)
            Next i
            sh.UsedRange.EntireColumn.AutoFit
        End If
    End If
End Sub

Для этого в прикреплённом файле нажмём зеленую кнопку,
и увидим вообщение с информацией о количестве имен в книге:

Если в диаоговом окне мы нажмём «Да», то макрос создаст новую книгу, и сформирует в ней таблицу со списком всех имен книги:

Если же вам требуется вывести список видимых имён на лист Excel, то можно воспользоваться макросом из одной строки:

Sub СписокВидимыхИмён()
    ActiveCell.ListNames
End Sub

Того же эффекта можно добиться, нажав кнопку «Все имена» в диалоговом окне, вызываемом из меню Вставка — Имя — Вставить… (в Excel 2003):

  • 29066 просмотров

Не получается применить макрос? Не удаётся изменить код под свои нужды?

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

Microsoft Excel: выпадающие списки

Выпадающий список в Microsoft Excel

​Смотрите также​ Next​ то подправьте эти​ и вниз до​ значений на лист​Список​При использовании этого способа,​ диапазона:​Важный нюанс. В качестве​ выбранное значение –​ исходный код листа​ lReply = MsgBox(«Добавить​

​ указать диапазон ячеек​ соответствующий базе данных​

Создание дополнительного списка

​ же книге, можно​ же свойства, как​ а затем кликаем​При работе в программе​If poisk Like​ параметры в макросе​

​ конца — до​ (это так же​» и указываем диапазон​ также возможно указывать​Этот способ частично напоминает​ источника данных для​ в строку LinkedCell.​ готовый макрос. Как​ введенное имя «​ со списком.​ с городами. Если​ на другом листе.​ и в предыдущий​ по надписи «Параметры».​ Microsoft Excel в​

tablitsa-zagotovka-i-spisok-v-microsoft-excel

​ «*» & TextBox1.Value​ на свои.​ последнего имени.​ позволит работать со​ списка​ в качестве​ предыдущий. Основное отличие​

Присвоение имени в Microsoft Excel

​ списка может выступать​ Для изменения шрифта​ это делать, описано​ & _ Target​Назначить имя для диапазона​ пользователь выберет​Мы будем использовать именованные​ раз, выделяем верхние​В открывшемся окне переходим​ таблицах с повторяющимися​ & «*» Then​Всё! Теперь при попытке​

Создание имени в Microsoft Excel

​Выделяем ячейку D2 и​ списком на любом​3.​ListFillRange​ в том, что​ и динамический именованный​ и размера –​ выше. С его​

Проверка данных в Microsoft Excel

​ & » в​ значений и в​Portugal​ диапазоны и сделаем​ ячейки, и при​ в подраздел «Настройка​ данными, очень удобно​ListBox1.AddItem sh.Name &​ ввести новое имя​в Excel 2007 и​ листе). Делается это​Если есть желание​

Параметры вводимых значений в Microsoft Excel

​не только одномерные​ на лист добавляется​ диапазон, например прайс-лист.​ Font.​ помощью справа от​ выпадающий список?», vbYesNo​ поле источник вписать​, то мы должны​ так, чтобы эти​

Выпадающий список в программе Microsoft Excel

Создание выпадающего списка с помощью инструментов разработчика

​ нажатой клавише мышки​ ленты», и ставим​ использовать выпадающий список.​ «!» & poisk.Address​ в ячейку D2​ новее — жмем​ так:​ подсказать пользователю о​ диапазоны. Можно, например​ не элемент управления,​ Тогда при дописывании​Скачать пример выпадающего списка​ выпадающего списка будут​ + vbQuestion) If​

Переход в параметры Microsoft Excel

​ это имя.​ обратиться к базе​ связанные выпадающие списки​ «протаскиваем» вниз.​ флажок напротив значения​ С его помощью​

Включение режима разработчика в Microsoft Excel

​ListBox1.List(j, 1) =​ Excel будет спрашивать​ на вкладке​То есть вручную,​ его действиях, то​ задать диапазон из​ а элемент ActiveX​ новых товаров к​При вводе первых букв​ добавляться выбранные значения.Private​ lReply = vbYes​Любой из вариантов даст​ с индексом​ работали во всех​

Выбор поля со списком в Microsoft Excel

​Всё, таблица создана.​ «Разработчик». Жмем на​ можно просто выбирать​ poisk​… и при утвердительном​

Форма списка в Microsoft Excel

​Данные (Data)​ через​ переходим во вкладку​ двух столбцов и​

Переход в свойства элемента управления в Microsoft Excel

​»Поле со списком»​ прайсу, они будут​ с клавиатуры высвечиваются​ Sub Worksheet_Change(ByVal Target​ Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count +​ такой результат.​3​

Свойства элемента управления в Microsoft Excel

​ версиях Excel. Следующий​Мы разобрались, как сделать​ кнопку «OK».​ нужные параметры из​j = j + 1​

Редактирование в Microsoft Excel

​ ответе пользователя автоматически​кнопку​

Выпадающий список в приложении Microsoft Excel

​;​ «​ нескольких строк, указав​из раскрывающегося набора​ автоматически добавляться к​ подходящие элементы. И​ As Range) On​

Протягивание выпадающего списка в Microsoft Excel

Связанные списки

​ 1, 1) =​​, в которой хранятся​ шаг – создать​ выпадающий список в​После этого, на ленте​ сформированного меню. Давайте​End If​ добавлять новое имя​Проверка данных (Data Validation)​(точка с запятой) вводим​Сообщение для ввода​ дополнительно, что выводить​ под кнопкой​ выпадающему списку. Еще​ это далеко не​ Error Resume Next​

​ Target End If​Необходимо сделать раскрывающийся список​ названия городов Португалии.​ именованные диапазоны для​ Экселе. В программе​ появляется вкладка с​

Таблицы в Microsoft Excel

​ выясним, как сделать​Next​ к списку в​в Excel 2003 и​ список в поле​

Присваивание имени в Microsoft Excel

​» и заполняем заголовок​ нужно два столбца​Вставить (Insert)​ одним часто используемым​ все приятные моменты​

Ввод данных в Microsoft Excel

​ If Not Intersect(Target,​ End If End​ со значениями из​ Мы воспользуемся функцией​ наших списков. На​ можно создавать, как​ названием «Разработчик», куда​

Ввод данных для второй ячейки в Microsoft Excel

​ раскрывающийся список различными​

Список создан в Microsoft Excel

​Next​ столбце А и​ старше — выбираем​ «​ и текст сообщения​ (свойство​с вкладки​ трюком для таких​

Таблица создана в Microsoft Excel

​ данного инструмента. Здесь​

​ Range(«Е2:Е9»)) Is Nothing​ If End Sub​ динамического диапазона. Если​ВПР​ вкладке​ простые выпадающие списки,​ мы и перемещаемся.​ способами.​End Sub​ в выпадающий список​ в меню​Источник​которое будет появляться​

​ColumnCount​

lumpics.ru

Создаем связанные выпадающие списки в Excel – самый простой способ!

​Разработчик (Developer)​​ списков является создание​ можно настраивать визуальное​ And Target.Cells.Count =​Сохраняем, установив тип файла​ вносятся изменения в​(VLOOKUP) для поиска​Formulas​ так и зависимые.​ Чертим в Microsoft​Скачать последнюю версию​Оформляйте коды макросов​ в ячейку D2.​Данные — Проверка (Data​», в том порядке​ при выборе ячейки​=2). Тогда можно получить​:​ связанных выпадающих списков​

​ представление информации, указывать​ 1 Then Application.EnableEvents​ «с поддержкой макросов».​ имеющийся диапазон (добавляются​ значения из ячейки​(Формулы) есть команда​ При этом, можно​​ Excel список, который​​ Excel​ спецтегами — кнопка​Sendex​​ — Validation)​​ в котором мы​ с выпадающим списком​ весьма привлекательные результаты,​

Связанный выпадающий список в Excel

​Механизм добавления тот же​ (когда содержимое одного​ в качестве источника​ = False If​Переходим на лист со​ или удаляются данные),​B1​Name Manager​ использовать различные методы​ должен стать выпадающим​Самым удобным, и одновременно​ # (поправил за​: Всем привет!​.​​ хотим его видеть​​4.​​ окупающие все потраченные​​ — выбираем объект​​ списка меняется в​​ сразу два столбца.​ Len(Target.Offset(0, 1)) =​​ списком. Вкладка «Разработчик»​​ они автоматически отражаются​​в таблице с​​(Диспетчер имён). Нажав​ создания. Выбор зависит​​ меню. Затем, кликаем​​ наиболее функциональным способом​ Вас). И Правила​Искал что-то подобное​

Связанный выпадающий список в Excel

​Далее выбираем из выпадающего​ (значения введённые слева-направо​Так же необязательно​ на дополнительные настройки​ из списка и​ зависимости от выбора​У кого мало времени​ 0 Then Target.Offset(0,​ — «Код» -​ в раскрывающемся списке.​ названиями стран. После​ на нее, откроется​ от конкретного предназначения​

​ на Ленте на​ создания выпадающего списка,​ форума почитайте.​ обсуждавшееся, но не​ списка​ будут отображаться в​ можно создать и​ усилия:​ рисуем его на​ в другом).​​ и нужно быстро​​ 1) = Target​​ «Макросы». Сочетание клавиш​​Выделяем диапазон для выпадающего​ того как индекс​ диалоговое окно​​ списка, целей его​​ значок «Вставить», и​

Связанный выпадающий список в Excel

​ является метод, основанный​​SLAVICK​​ нашел.​Тип данных (Allow)​ ячейке сверху вниз).​​ сообщение, которое будет​​Способ 1.​

Связанный выпадающий список в Excel

​ листе. А вот​​Этот способ представляет собой​​ ухватить суть -​​ Else Target.End(xlToRight).Offset(0, 1)​​ для быстрого вызова​ списка. В главном​ будет известен, мы​​Name Manager​​ создания, области применения,​ среди появившихся элементов​ на построении отдельного​

​: Попробуйте так:​

​В чем суть.​​позицию​​При всех своих​ появляться при попытке​

Связанный выпадающий список в Excel

​Примитивный​ дальше начинаются серьезные​ вставку на лист​

​ смотрим обучающее видео:​ = Target End​ – Alt +​ меню находим инструмент​ выберем список, который​​(Диспетчер имён).​​ и т.д.​ в группе «Элемент​ списка данных.​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub TextBox1_Change()​​ Допустим есть список:​​Список (List)​​ плюсах выпадающий список,​ ввести неправильные данные​Способ 2.​​ отличия от предыдущего​​ нового объекта -​

Связанный выпадающий список в Excel

​Кому интересны подробности и​​ If Target.ClearContents Application.EnableEvents​​ F8. Выбираем нужное​

Связанный выпадающий список в Excel

​ «Форматировать как таблицу».​ станет источником данных​Нажмите кнопку​Автор: Максим Тютюшев​​ ActiveX» выбираем «Поле​​Прежде всего, делаем таблицу-заготовку,​​Dim j As​​полотенце зеленое​и вводим в​​ созданный вышеописанным образом,​​Если Вы не​Стандартный​ способа.​ элемента управления «поле​ нюансы всех описанных​​ = True End​​ имя. Нажимаем «Выполнить».​Откроются стили. Выбираем любой.​ для нашего второго​New​ПРЕДСТАВЬТЕ СИТУАЦИЮ:​ со списком».​ где собираемся использовать​​ Long, i As​​полено дубовое​ строку​ имеет один, но​ сделаете пункты 3​Способ 3.​Во-первых, созданный выпадающий ActiveX​ со списком» с​ способов — дальше​ If End Sub​​Когда мы введем в​​ Для решения нашей​ выпадающего списка. Для​(Создать), чтобы добавить​​Мы хотим создать​​Кликаем по месту, где​ выпадающее меню, а​ Long, poisk As​​телефон новый​​Источник (Source)​ очень «жирный» минус:​​ и 4, то​​Элемент управления​ список может находится​ последующей привязкой его​ по тексту.​Чтобы выбранные значения показывались​ пустую ячейку выпадающего​ задачи дизайн не​ этого напишем такую​ новый именованный диапазон.​ в Excel небольшую​

​ должна быть ячейка​
​ также делаем отдельным​

​ Range, iAdr$, LT%,​переполох в душе​ссылку на созданный​​ проверка данных работает​​проверка данных​Способ 4.​ в двух принципиально​ к диапазонам на​​Один щелчок правой кнопкой​​ снизу, вставляем другой​ списка новое наименование,​ имеет значения. Наличие​

​ формулу:​ Откроется диалоговое окно​ табличку, где можно​

Связанный выпадающий список в Excel

​ со списком. Как​ списком данные, которые​ sh As Worksheet​В ячейке начинаем​ на шаге 1​​ только при непосредственном​​работать будет, но​Элемент ActiveX​ разных состояниях -​ листе. Для этого:​

Связанный выпадающий список в Excel

​ мыши по пустой​ код обработчика.Private Sub​ появится сообщение: «Добавить​ заголовка (шапки) важно.​=CHOOSE(VLOOKUP(B1,Sheet3!$A$3:$B$5,2,FALSE),England,France,Portugal)​New Name​ выбрать страну и​ видите, форма списка​ в будущем включим​

​ListBox1.Clear​ писать «пол» и​
​ именованный диапазон (​
​ вводе значений с​

​ при активации ячейки​

office-guru.ru

Выпадающий список в Excel с помощью инструментов или макросов

​Сложность​ режиме отладки, когда​В Excel 2007/2010 откройте​ ячейке под столбцом​ Worksheet_Change(ByVal Target As​ введенное имя баобаб​ В нашем примере​

​=ВЫБОР(ВПР(B1;Sheet3!$A$3:$B$5;2;ЛОЖЬ);England;France;Portugal)​(Создание имени).​ соответствующий ей город.​ появилась.​ в это меню.​LT = Len(TextBox1.Value)​ тут же выпадает​не забудьте перед именем​ клавиатуры. Если Вы​ не будет появляться​

Создание раскрывающегося списка

​низкая​ можно настраивать его​ вкладку​ с данными, команда​ Range) On Error​

Создание выпадающего списка.

​ в выпадающий список?».​ это ячейка А1​Что же делает эта​В поле​

  1. ​ При этом с​Затем мы перемещаемся в​Ввод значений.
  2. ​ Эти данные можно​If LT =​ список со строками,​ диапазона поставить знак​Проверка вводимых значений.
  3. ​ попытаетесь вставить в​ сообщение пользователю о​средняя​ параметры и свойства,​

Имя диапазона. Раскрывающийся список.

​Разработчик (Developer)​ контекстного меню​

​ Resume Next If​

Выпадающий список в Excel с подстановкой данных

​Нажмем «Да» и добавиться​ со словом «Деревья».​ формула? Она ищет​Name​ помощью выпадающих списков,​ «Режим конструктора». Жмем​ размещать как на​ 0 Then Exit​

  1. ​ в которых содержится​ равенства!​ ячейку с​ его предполагаемых действиях,​Форматировать как таблицу.
  2. ​высокая​ двигать его по​. В более ранних​Выбрать из раскрывающегося списка​ Not Intersect(Target, Range(«Н2:К2»))​ еще одна строка​ То есть нужно​ значение из ячейки​(Имя) введите имя​ необходимо ограничить доступные​ на кнопку «Свойства​ этом же листе​ Sub​Выпадающий список.
  3. ​ эта комбинация:​):​проверкой данных​ а вместо сообщения​Возможность настройки шрифта, цвета​ листу и менять​ версиях — панель​(Choose from drop-down list)​

Ввод значения в источник.

​ Is Nothing And​ со значением «баобаб».​ выбрать стиль таблицы​

Список и таблица.

​B1​Country​

Добавлено значение елка.

​ пользователям варианты стран​

Удалено значение береза.

​ элемента управления».​ документа, так и​j = 0​

​ПОЛотенце зеленое​Чтобы Excel позволил нам​значения из буфера​ об ошибке с​ и т.д.​ размеры и -​ инструментов​

Ввод данных из списка.

  1. ​или нажать сочетание​ Target.Cells.Count = 1​Когда значения для выпадающего​ со строкой заголовка.​в списке стран​Создание имени.
  2. ​для нашего первого​ и городов, из​Открывается окно свойств элемента​ на другом, если​iAdr = Sheets(1).UsedRange.Address​
  3. ​ПОЛено дубовое​ в будущем ввести​ обмена, т.е скопированные​ вашим текстом будет​нет​ режиме ввода, когда​Формы (Forms)​Сообщение об ошибке.
  4. ​ клавиш​ Then Application.EnableEvents =​ списка расположены на​ Получаем следующий вид​ и возвращает соответствующий​ именованного диапазона, а​ которых они могут​ управления. В графе​ вы не хотите,​iAdr = Mid(iAdr,​переПОЛох в душе​ в список и​ предварительно любым способом,​ появляться стандартное сообщение.​нет​ единственное, что можно​через меню​ALT+стрелка вниз​ False If Len(Target.Offset(1,​ другом листе или​ диапазона:​ индекс, который затем​ в поле​ выбирать. В первой​ «ListFillRange» вручную через​ чтобы обе таблице​ InStr(iAdr, «:») +​Дописываем дальше, «поле»​ новые имена, снимем​ то Вам это​5.​да​ — выбирать из​
  5. ​Вид — Панели инструментов​. Способ не работает,​Сообщение об ошибке.
  6. ​ 0)) = 0​ в другой книге,​Ставим курсор в ячейку,​ использует функция​Refers to​ ячейке мы сделаем​ двоеточие прописываем диапазон​ располагались визуально вместе.​

Макрос.

​ 1)​ — остается для​ галочки на вкладках​ удастся. Более того,​Если список значений​Количество отображаемых строк​

​ него данные. Переключение​ — Формы (View​ если ячейку и​

Выпадающий список в Excel с данными с другого листа/файла

​ Then Target.Offset(1, 0)​ стандартный способ не​ где будет находиться​CHOOSE​(Диапазон) выберите тот,​ выбор страны, а​ ячеек таблицы, данные​Выделяем данные, которые планируем​Set sh =​ выбора одно Полено​Сообщение для ввода (Input​

  1. ​ вставленное значение из​ находится на другом​всегда 8​
  2. ​ между этими режимами​ — Toolbars -​ столбец с данными​

​ = Target Else​ работает. Решить задачу​ выпадающий список. Открываем​(ВЫБОР), чтобы выбрать​ в котором хранится​ во второй будут​ которой будут формировать​ занести в раскрывающийся​ ActiveSheet​ дубовое.​

Как сделать зависимые выпадающие списки

​ Message)​

Три именованных диапазона.

​ буфера УДАЛИТ ПРОВЕРКУ​ листе, то вышеописанным​любое​ происходит с помощью​ Forms)​ отделяет хотя бы​ Target.End(xlDown).Offset(1, 0) =​ можно с помощью​

  1. ​ параметры инструмента «Проверка​ 1-й, 2-й или​ список стран:​Список диапазонов.
  2. ​ доступны только принадлежащие​ пункты выпадающего списка.​ список. Кликаем правой​For Each poisk​Подскажите варианты плз.​Таблица со списком.
  3. ​и​ ДАННЫХ И ВЫПАДАЮЩИЙ​ образом создать выпадающий​Быстрый поиск элемента по​ кнопки​. Если этой вкладки​ одна пустая строка​ Target End If​ функции ДВССЫЛ: она​ данных» (выше описан​ 3-й именованный диапазон.​=Sheet3!$A$3:$A$5​ выбранной стране города.​Второй раскрывающийся список.

    Выбор нескольких значений из выпадающего списка Excel

    ​Далее, кликаем по ячейке,​ кнопкой мыши, и​ In Range(«d1:d100»)​Спасибо​Сообщение об ошибке (Error​

    1. ​ СПИСОК ИЗ ЯЧЕЙКИ,​ список не получится​ первым буквам​Режим Конструктора (Design Mode)​ не видно, то​ или вам нужен​ Target.ClearContents Application.EnableEvents =​ сформирует правильную ссылку​ путь). В поле​Вот так будет выглядеть​Нажмите​ Думаю, это понятно?​ и в контекстном​ в контекстном меню​On Error Resume​SLAVICK​ Alert)​ в которую вставили​ (до версии Excel​нет​на вкладке​ нажмите кнопку​ товар, который еще​ True End If​ на внешний источник​ «Источник» прописываем такую​
    2. ​ наш второй раскрывающийся​ОК​Итак, давайте начнём наш​ меню последовательно переходим​ выбираем пункт «Присвоить​ Next​: Без примера -​и нажмем​ предварительно скопированное значение.​ 2010). Для этого​нет​Разработчик (Developer)​Офис — Параметры Excel​ ни разу не​ End Sub​ информации.​ функцию:​ список:​, чтобы сохранить и​
    3. ​ простой пример с​ по пунктам «Объект​ имя…».​If poisk Like​ только ссылка на​
      ​ОК​ Избежать этого штатными​
      ​ необходимо будет присвоить​да​
      ​:​-​ вводился выше:​Чтобы выбираемые значения отображались​
      ​Делаем активной ячейку, куда​
      ​Протестируем. Вот наша таблица​
      ​В результате мы получим​
      ​ закрыть диалоговое окно.​
      ​ того, как можно​ ComboBox» и «Edit».​Открывается форма создания имени.​
      ​ "*" & TextBox1.Value​ похожую тему​. Теперь у нас​
      ​ средствами Excel нельзя.​
      ​ имя списку. Это​
      ​Необходимость использования дополнительной функции​
      ​Если эта кнопка нажата,​флажок​
      ​Выделите ячейки с данными,​
      ​ в одной ячейке,​
      ​ хотим поместить раскрывающийся​

    ​ со списком на​ два связанных (или​Имена диапазонам, содержащим города,​ создать связанный (или​Выпадающий список в Microsoft​ В поле «Имя»​

    Выпадающий список с поиском

    1. ​ & «*» Then​Наверное ближе будет​ есть выпадающий список​Задача​ можно сделать несколько​ИНДЕКС​Вставить ActiveX.
    2. ​ то мы можем​Отображать вкладку Разработчик на​ которые должны попасть​ разделенные любым знаком​ список.​ одном листе:​Элемент ActiveX.
    3. ​ зависимых) выпадающих списка.​ можно присвоить точно​Свойства ActiveX.
    4. ​ зависимый) выпадающий список​ Excel готов.​ вписываем любое удобное​ListBox1.AddItem sh.Name &​ Эта тема -​ в ячейке D2.​: сделать в ячейке​ способами.​

    ​нет​

    ​ настраивать параметры выпадающего​ ленте (Office Button​ в выпадающий список​ препинания, применим такой​Открываем параметры проверки данных.​Добавим в таблицу новое​ Если мы выбираем​ таким же образом.​ в Excel? В​Чтобы сделать и другие​

    exceltable.com

Выпадающий список в ячейке листа

Видео

​ наименование, по которому​ «!» & poisk.Address​ там в примере​ Причем, если, например,​

​ D2 выпадающий список,​Первый​да​ списка, нажав соседнюю​

Способ 1. Примитивный

​ — Excel Options​ (например, наименованиями товаров).​ модуль.​ В поле «Источник»​ значение «елка».​​ страну​ ​Теперь мы можем создать​​ ячейке​ ячейки с выпадающим​​ будем узнавать данный​​ListBox1.List(j, 1) =​ нужно нажать кнопку​ вручную дописать новое​ чтобы пользователь мог​: выделите список и​нет​ кнопку​ — Show Developer​Если у вас Excel​

Выпадающее меню вȎxcel

Способ 2. Стандартный

  1. ​Private Sub Worksheet_Change(ByVal​ вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).​Теперь удалим значение «береза».​France​
  2. ​ выпадающие списки в​B1​ списком, просто становимся​ список. Но, это​​ poisk​ найти.​ ​ имя в столбце​ выбирать имена из​​ кликните правой кнопкой​Возможность создания связанных выпадающих​Свойства (Properties)​​ Tab in the​​ 2003 или старше​​ Target As Range)​​Имя файла, из которого​​Осуществить задуманное нам помогла​​, в связанном списке​ тех ячейках, где​мы будем выбирать​ на нижний правый​ наименование должно начинаться​j = j + 1​​Wasilich​​ А, то оно​​ списка (столбец А).​​ мыши, в контекстном​
  3. ​ списков​, которая откроет окно​ Ribbon)​ — выберите в​On Error Resume​ берется информация для​​ «умная таблица», которая​ у нас будут​​ планировали выбирать данные.​​ страну, а в​​ край готовой ячейки,​​ обязательно с буквы.​​End If​: Видно надо, что​​ автоматически появится в​​ Если нужного имени​ меню выберите «​​нет​​ со списком всех​

Выпадающее меню вȎxcel

​Найдите значок выпадающего списка​​ меню​​ Next​

​ списка, заключено в​

Выпадающее меню вȎxcel

​ легка «расширяется», меняется.​ города только из​ Выделите ячейку​ ячейке​ нажимаем кнопку мыши,​ Можно также вписать​Next​ то вроде этого!​ выпадающем списке в​ нет в списке,​Присвоить имя​да​ возможных настроек для​ среди элементов управления​Вставка — Имя -​If Not Intersect(Target,​ квадратные скобки. Этот​Теперь сделаем так, чтобы​

Способ 3. Элемент управления

​ Франции.​B1​B2​ и протягиваем вниз.​ примечание, но это​End Sub​Sendex​ ячейке D2, поскольку​

  1. ​ то пользователь может​»​​нет​​ выделенного объекта:​ форм (не ActiveX!).​ Присвоить​​ Range(«C2:C5»)) Is Nothing​​ файл должен быть​​ можно было вводить​Из этой статьи Вы​(в ней мы​– принадлежащий ей​​Также, в программе Excel​ не обязательно. Жмем​здесь будет поиск​​:​ ​ имена берутся из​​ ввести новое имя​​Для Excel версий​Выпадающий список в​Самые нужные и полезные​ Ориентируйтесь по всплывающим​(Insert — Name -​ And Target.Cells.Count =​
  2. ​ открыт. Если книга​ новые значения прямо​ узнали, как можно​ будем выбирать страну),​ город, как на​​ можно создавать связанные​​ на кнопку «OK».​
    Выпадающее меню вȎxcel
    ​ в диапазоне Range(«d1:d100»).​SLAVICK​ динамического диапазона People,​ прямо в ячейку​
  3. ​ ниже 2007 те​ ячейке позволяет пользователю​ свойства, которые можно​​ подсказкам -​​ Define),​ 1 Then​
  • ​ с нужными значениями​​ в ячейку с​ сделать простейшие связанные​ откройте вкладку​ примере:​
  • ​ выпадающие списки. Это​​Переходим во вкладку «Данные»​Лучше указывать не​, спасибо! Второй вариант​ который автоматически отслеживает​
  • ​ D2 — оно​​ же действия выглядят​ выбирать для ввода​ и нужно настроить:​Поле со списком​если Excel 2007​Application.EnableEvents = False​ находится в другой​

​ этим списком. И​​ выпадающие списки в​​Data​

​Для начала нужно создать​ такие списки, когда​ программы Microsoft Excel.​ весь столбец а​​ — очень похоже​​ изменения в столбце​ автоматически добавится к​ так:​ только заданные значения.​

Выпадающее меню вȎxcel

Способ 4. Элемент ActiveX

​ListFillRange​:​ или новее -​newVal = Target​ папке, нужно указывать​ данные автоматически добавлялись​​ Microsoft Excel. Вы​​(Данные), нажмите​ базу данных. На​​ при выборе одного​​ Выделяем область таблицы,​​ диапазон(можно с запасом),​​ на то что​

Выпадающее меню вȎxcel

​ А.​ столбцу А и​Второй​ Это особенно удобно​- диапазон ячеек,​Щелкните по значку​ откройте вкладку​Application.Undo​

​ путь полностью.​ в диапазон.​ можете взять этот​Data Validation​ втором листе я​ значения из списка,​ где собираемся применять​ иначе будет тормозить.​ нужно, который с​Щелкаем правой кнопкой мыши​ начнет отображаться в​: воспользуйтесь​ при работе с​ откуда берутся данные​ и нарисуйте небольшой​Формулы (Formulas)​oldval = Target​​Возьмем три именованных диапазона:​​Сформируем именованный диапазон. Путь:​​ простой пример и​​(Проверка данных), а​

Выпадающее меню вȎxcel

​ занес список стран,​ в другой графе​ выпадающий список. Жмем​Wasilich​ кнопкой «Найти»​​ по ярлычку нашего​​ выпадающем списке в​Диспетчером имён​ файлами структурированными как​ для списка. Выделить​

Выпадающее меню вȎxcel

​ горизонтальный прямоугольник -​и воспользуйтесь кнопкой​If Len(oldval) <>​

  • ​Это обязательное условие. Выше​​ «Формулы» — «Диспетчер​ использовать его для​ затем в выпадающем​ которые хочу дать​ предлагается выбрать соответствующие​ на кнопку «Проверка​:​Только он ищет​
  • ​ листа и выбираем​​ будущем. Вот так​(Excel версий выше​ база данных, когда​ мышью диапазон он​
  • ​ будущий список.​​Диспетчер имен (Name Manager)​ 0 And oldval​
  • ​ описано, как сделать​​ имен» — «Создать».​ решения реальных задач.​ меню выберите​ пользователям на выбор​
  • ​ ему параметры. Например,​​ данных», расположенную на​​Sendex​​ совпадения по всем​Исходный текст (View Source)​

​ примерно:​ 2003 — вкладка​ ввод несоответствующего значения​ не даст, надо​Щелкните по нарисованному списку​, затем​ <> newVal Then​ обычный список именованным​ Вводим уникальное название​Урок подготовлен для Вас​Data Validation​ в первом раскрывающемся​ при выборе в​

​ Ленте.​, я так понял,​ листам, а в​​. Откроется модуль листа​​Сначала создадим именованный диапазон,​ «​ в поле может​ просто вписать его​ правой кнопкой мыши​Создать​Target = Target​ диапазоном (с помощью​​ диапазона – ОК.​​ командой сайта office-guru.ru​(Проверка данных).​ списке, а в​ списке продуктов картофеля,​Открывается окно проверки вводимых​

Выпадающее меню вȎxcel

Итоговая сравнительная таблица всех способов

​ у Вас WinRAR-a​​ моем случае нужно​ ​ в редакторе Visual​​ указывающий на заполненные​ ​Формулы​​ привести к нежелаемым​ ​ руками с клавиатуры​​ и выберите команду​
​. Введите имя (можно​ ​ & «,» &​ ​ «Диспетчера имен»). Помним,​ ​Создаем раскрывающийся список в​
​Источник: http://www.excel-user.com/2011/02/cascading-validation-lists.html​Откроется диалоговое окно​ ​ соседнем столбце указал​ ​ предлагается выбрать как​ ​ значений. Во вкладке​
​ нет? Или не​ ​ искать по определенному​ ​ Basic, куда надо​
​ именами ячейки в​» — группа «​ ​ результатам.​ ​ (например, Лист2!A1:A5)​ ​Формат объекта (Format control)​
​ любое, но обязательно​​ newVal​ ​ что имя не​ ​ любой ячейке. Как​ ​Перевел: Антон Андронов​
​Data Validation​ числовой индекс, который​ ​ меры измерения килограммы​ ​ «Параметры» в поле​ ​ подходит? Считаю, отзываться​

planetaexcel.ru

Создание выпадающего списка в ячейке

​ столбцу.​ скопировать такой код:​ столбце А -​Определённые имена​Итак, для создания​LinkedCell​. В появившемся диалоговом​ без пробелов и​Else​ может содержать пробелов​ это сделать, уже​Автор: Антон Андронов​
​(Проверка вводимых значений).​ соответствует одному из​
​ и граммы, а​​ «Тип данных» выбираем​ надо бы в​Подскажите пож, как​Private Sub Worksheet_Change(ByVal​ сколько бы имен​​»), который в любой​​ выпадающего списка необходимо:​- связанная ячейка,​ окне задайте​ начать с буквы!)​Target = newVal​​ и знаков препинания.​​ известно. Источник –​Под выпадающим списком понимается​​Мы хотим дать пользователю​​ списков городов. Списки​​ при выборе масла​​ параметр «Список». В​​ любом случае.​​ именно указать конкретный​

​ Target As Range)​ в списке не​ версии Excel вызывается​1.​

​ куда будет выводиться​​Формировать список по диапазону​​ для выделенного диапазона​​End If​​Создадим первый выпадающий список,​​ имя диапазона: =деревья.​ содержание в одной​

​ на выбор список​​ городов располагаются правее​ растительного – литры​ поле «Источник» ставим​На случай отсутствия​ диапазон?​​ Dim lReply As​​ находилось. Для этого:​ сочетанием клавиш​

​Создать список значений,​ выбранный из списка​- выделите ячейки​

​ (например​​If Len(newVal) =​ куда войдут названия​Снимаем галочки на вкладках​ ячейке нескольких значений.​ вариантов, поэтому в​


​ в столбцах​ и миллилитры.​ знак равно, и​​ архиватора, сократил размер​​Понимаю, что нужно​ Long If Target.Cells.Count​в Excel 2007 и​Ctrl+F3​ которые будут предоставляться​ элемент​ с наименованиями товаров,​Товары​ 0 Then Target.ClearContents​
​ диапазонов.​​ «Сообщение для ввода»,​ Когда пользователь щелкает​ поле​D​Прежде всего, подготовим таблицу,​ сразу без пробелов​ примера.​ заменить For Each​ > 1 Then​ новее — жмем​.​​ на выбор пользователю​​ListRows​ которые должны попасть​). Нажмите​Application.EnableEvents = True​​Когда поставили курсор в​​ «Сообщение об ошибке».​

​ по стрелочке справа,​Allow​,​ где будут располагаться​

​ пишем имя списка,​​Sendex​​ sh In ActiveWorkbook.Sheets​​ Exit Sub If​ на вкладке​Какой бы способ​​ (в нашем примере​​- количество отображаемых​​ в список​​ОК​End If​ поле «Источник», переходим​​ Если этого не​​ появляется определенный перечень.​
​(Тип данных) выберите​F​ выпадающие списки, и​ которое присвоили ему​:​ на столбец, но​​ Target.Address = «$D$2″​​Формулы (Formulas)​ Вы не выбрали​ это диапазон​​ строк​​Связь с ячейкой​

​.​​End Sub​ на лист и​ сделать, Excel не​ Можно выбрать конкретное.​

​List​​и​

​ отдельно сделаем списки​ выше. Жмем на​Wasilic​ все криво выходит.​ Then If IsEmpty(Target)​кнопку​ в итоге Вы​M1:M3​Font​- укажите ячейку​Выделите ячейки (можно сразу​Не забываем менять диапазоны​

​ выделяем попеременно нужные​ позволит нам вводить​​Очень удобный инструмент Excel​​(Список). Это активирует​H​ с наименованием продуктов​​ кнопку «OK».​​, у меня на​Заранее спасибо!​ Then Exit Sub​Диспетчер имен (Name Manager)​ должны будете ввести​), далее выбрать ячейку​
​- шрифт, размер,​ куда нужно выводить​ несколько), в которых​ на «свои». Списки​ ячейки.​ новые значения.​ для проверки введенных​ поле​. Так, например, рядом​ и мер измерения.​Выпадающий список готов. Теперь,​​ Ваш первый файл​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub TextBox1_Change()​ If WorksheetFunction.CountIf(Range(«People»), Target)​и затем​ имя (я назвал​ в которой будет​ начертание (курсив, подчеркивание​ порядковый номер выбранного​ хотите получить выпадающий​ создаем классическим способом.​Теперь создадим второй раскрывающийся​Вызываем редактор Visual Basic.​ данных. Повысить комфорт​Source​

excelworld.ru

Выпадающий список с добавлением новых элементов

​ с​​Присваиваем каждому из списков​ при нажатии на​ антивирь ругнулся, поэтому​Dim j As​ = 0 Then​Создать (New)​ диапазон со списком​ выпадающий список (в​ и т.д. кроме​ пользователем элемента.​ список и выберите​ А всю остальную​ список. В нем​ Для этого щелкаем​ работы с данными​(Источник), где необходимо​France​

Выпадающее меню вȎxcel

Шаг 1. Создаем именованный диапазон

​ именованный диапазон, как​ кнопку у каждой​ после того что​ Long, i As​ lReply = MsgBox(«Добавить​в Excel 2003 идем​list​

  • ​ нашем примере это​ цвета)​Количество строк списка​​ в меню (на​​ работу будут делать​​ должны отражаться те​​ правой кнопкой мыши​​ позволяют возможности выпадающих​
  • ​ указать имя диапазона​стоит индекс​​ это мы уже​ ячейки указанного диапазона​ уже​

​ Long, poisk As​ введенное имя «​​ в меню​​) и адрес самого​​ ячейка​​ForeColor​

​- сколько строк​

​ вкладке)​ макросы.​

​ слова, которые соответствуют​

​ по названию листа​ списков: подстановка данных,​ со странами. Введите​2​ делали ранее с​ будет появляться список​SLAVICK​

Шаг 2. Создаем выпадающий список в ячейке

​ Range, iAdr$, LT%,​

  • ​ & _ Target​Вставка — Имя -​ диапазона (в нашем​​К1​​и​​ показывать в выпадающем​
  • ​Данные — Проверка (Data​На вкладке «Разработчик» находим​ выбранному в первом​​ и переходим по​ отображение данных другого​​ в этом поле​

​, который соответствует списку​ обычными выпадающими списками.​​ параметров, среди которых​​предложил, не стал​​ sh As Worksheet​​ & » в​ Присвоить (Insert -​​ примере это​​), потом зайти во​BackColor​ списке. По умолчанию​​ — Validation)​ инструмент «Вставить» –​ списке названию. Если​​ вкладке «Исходный текст».​

Выпадающее меню вȎxcel

​ листа или файла,​ «=Country» и жмите​ городов​В первой ячейке создаём​ можно выбрать любой​​ больше пробовать.​ListBox1.Clear​​ выпадающий список?», vbYesNo​​ Name — Define)​’2′!$A$1:$A$3​​ вкладку «​​- цвет текста​​ — 8, но​. Из выпадающего списка​ «ActiveX». Здесь нам​ «Деревья», то «граб»,​ Либо одновременно нажимаем​ наличие функции поиска​ОК​2​ список точно таким​ для добавления в​Сейчас посмотрел, это​LT = Len(TextBox1.Value)​ + vbQuestion) If​Затем вводим имя диапазона​)​

Шаг 3. Добавляем простой макрос

​Данные​ и фона, соответственно​ можно больше, чего​​Тип данных (Allow)​​ нужна кнопка «Поле​ «дуб» и т.д.​ клавиши Alt +​ и зависимости.​

​. Теперь нам нужно​. Позже Вы увидите,​ же образом, как​ ячейку.​ максимально упрощенный вариант,​If LT =​ lReply = vbYes​ (допустим​6.​», группа «​Большим и жирным плюсом​ не позволяет предыдущий​выберите вариант​ со списком» (ориентируемся​ Вводим в поле​ F11. Копируем код​Путь: меню «Данные» -​ сделать второй раскрывающийся​ как этот индекс​ делали это ранее,​Второй способ предполагает создание​ тоже возьму на​ 0 Then Exit​

​ Then Range(«People»).Cells(Range(«People»).Rows.Count +​People​Теперь в ячейке​Работа с данными​ этого способа является​​ способ.​​Список (List)​ на всплывающие подсказки).​ «Источник» функцию вида​ (только вставьте свои​

​ инструмент «Проверка данных»​ список, чтобы пользователи​ будет использован.​ через проверку данных.​

Выпадающее меню вȎxcel

​ выпадающего списка с​ заметку. В любом​ Sub​ 1, 1) =​) и в строку​ с выпадающим списком​», кнопка «​

planetaexcel.ru

Выпадающее меню со списком, содержащим вводимые буквы. (Макросы/Sub)

​ возможность быстрого перехода​​После нажатия на​
​и введите в​Щелкаем по значку –​ =ДВССЫЛ(E3). E3 –​
​ параметры).Private Sub Worksheet_Change(ByVal​ — вкладка «Параметры».​
​ могли выбрать город.​
​Если Вы работаете в​
​Во второй ячейке тоже​
​ помощью инструментов разработчика,​
​ случае — большое​j = 0​ Target End If​Ссылка (Reference)​ укажите в поле​Проверка данных​
​ к нужному элементу​
​ОК​
​ строчку​
​ становится активным «Режим​ ячейка с именем​ Target As Range)​ Тип данных –​
​ Мы поместим этот​
​ Excel 2010, то​

​ запускаем окно проверки​​ а именно с​ спасибо за отклик!​iAdr = Sheets(1).UsedRange.Address​
​ End If End​вводим следующую формулу:​ «Источник» имя диапазона​»​ в списке при​

​списком можно пользоваться.​​Источник (Source)​ конструктора». Рисуем курсором​:)

​ первого диапазона.​​ Dim lReply As​​ «Список».​​ раскрывающийся список в​ можете создать лист-источник​ данных, но в​ использованием ActiveX. По​ И сорри, что​
​iAdr = Mid(iAdr,​ If End Sub​=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A$1:$A$24);1)​7.​Для Excel версий​ вводе первых букв​
​Чтобы вместо порядкового номера​знак равенства и​ (он становится «крестиком»)​
​Бывает, когда из раскрывающегося​ Long If Target.Cells.Count​Ввести значения, из которых​ ячейку​ в отдельной рабочей​
​ графе «Источник» вводим​
​ умолчанию, функции инструментов​
​ не вовремя.​ InStr(iAdr, ":") +​Если Ваш выпадающий список​в английской версии Excel​Готово!​
​ ниже 2007 те​
​ с клавиатуры(!), чего​
​ элемента выводилось его​ имя диапазона (т.е.​ небольшой прямоугольник –​
​ списка необходимо выбрать​
​ > 1 Then​
​ будет складываться выпадающий​B2​ книге. Если же​
​ функцию «=ДВССЫЛ» и​ разработчика отсутствуют, поэтому​
​SLAVICK​ 1)​
​ находится не в​ это будет:​
​Для полноты картины​ же действия выглядят​ нет у всех​
​ название можно дополнительно​=Товары​
​ место будущего списка.​ сразу несколько элементов.​
​ Exit Sub If​
​ список, можно разными​
​. А теперь внимание​
​ у Вас версия​
​ адрес первой ячейки.​

​ нам, прежде всего,​, спасибо за оба​For Each sh​ ячейке D2 или​=OFFSET(Лист1!$A$1,0,0,COUNTA(Лист1!$A$1:$A$24),1)​

​ добавлю, что список​​ так:​
​ остальных способов. Приятным​
​ использовать функцию​).​Жмем «Свойства» – открывается​ Рассмотрим пути реализации​ Target.Address = "$C$2"​
​ способами:​
​ – фокус! Нам​
​ Excel 2003 года,​ Например, =ДВССЫЛ($B3).​ нужно будет их​
​ варианта! И отдельное​
​ In ActiveWorkbook.Sheets​
​ Вы назвали диапазон​Эта формула ссылается на​ значений можно ввести​
​2.​ моментом, также, является​
​ИНДЕКС (INDEX)​Нажмите​
​ перечень настроек.​ задачи.​
​ Then If IsEmpty(Target)​Вручную через «точку-с-запятой» в​ нужно проверить содержимое​
​ и Вы планируете​Как видим, список создан.​
​ включить. Для этого,​ огромное спасибо за​
​For Each poisk​
​ с именами не​
​ все заполненные ячейки​
​ и непосредственно в​

​Выбираем «​ возможность настройки визуального​
​, которая умеет выводить​ОК​Вписываем диапазон в строку​Создаем стандартный список с​

​ Then Exit Sub​​ поле «Источник».​​ ячейки с названием​​ использовать именованный диапазон,​Теперь, чтобы и нижние​ переходим во вкладку​ доработку, все работает​ In sh.UsedRange​People​
​ в столбце А,​ проверку данных, не​Тип данных​

​ представления (цветов, шрифтов​​ содержимое нужной по​​.​​ ListFillRange (руками). Ячейку,​ помощью инструмента «Проверка​ If WorksheetFunction.CountIf(Range(«Деревья»), Target)​Ввести значения заранее. А​ страны (ячейка B1),​​ то значения должны​​ ячейки приобрели те​ «Файл» программы Excel,​
​ как надо!​On Error Resume​, а как-то еще,​ начиная с А1​ прибегая к вынесению​» -«​ и т.д.)​ счету ячейки из​
​Все! Наслаждайтесь!​​ куда будет выводиться​ данных». Добавляем в​ = 0 Then​ в качестве источника​ чтобы получить индекс​

excelworld.ru

​ находиться в той​

#Руководства

  • 14 апр 2022

  • 0

Упрощаем заполнение таблицы повторяющимися данными.

Иллюстрация: Meery Mary для Skillbox Media

Ксеня Шестак

Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

Выпадающий список в Excel позволяет выбирать значение ячейки таблицы из перечня, подготовленного заранее.

Опция пригодится, когда нужно много раз вводить повторяющиеся параметры. Например, фамилии сотрудников в графике рабочих смен или наименования товаров в прайсе. Во-первых, с выпадающими списками не придётся вводить одни и те же данные несколько раз. Во-вторых, уменьшится вероятность опечаток.

Разберёмся на примере с каталогом авто, как сделать выпадающие списки. У нас есть перечень автомобилей. Нужно заполнить столбцы с их характеристиками: тип коробки передач, тип привода и положение руля. Значения будут повторяться, поэтому выпадающие списки ускорят заполнение таблицы. Можно заполнить её полностью в два шага: сначала создаём значения выпадающего списка, потом выбираем нужные.

Таблицу легко заполнить с помощью выпадающего списка
Скриншот: Skillbox Media

Создаём новый лист — для удобства можно назвать его «Данные для выпадающего списка». На нём вбиваем значения, которые будем использовать в выпадающих списках. В нашем случае будет три столбца — «Коробка передач», «Привод» и «Руль» — и значения под ними.

Данные для создания выпадающего списка
Скриншот: Skillbox Media

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

Можно выделить весь столбец. Если слишком много строк, можно выделить несколько ячеек: потом растянете выпадающий список до конца
Скриншот: Skillbox Media

Переходим на вкладку «Данные» и кликаем по кнопке «Проверка данных».

Кнопка находится здесь
Скриншот: Skillbox Media

Открывается окно «Проверка данных». На вкладке «Параметры» в поле «Разрешить» выбираем пункт «Список».

Выбираем «Список» в проверке данных
Скриншот: Skillbox Media

Ставим курсор в поле «Источник» и, не закрывая это окно, переходим на второй лист с данными для выпадающего списка.

Если не поставите курсор, изменения не сохранятся
Скриншот: Skillbox Media

На листе с данными для списка выделяем столбец с нужными параметрами. В нашем случае значения столбца «Коробка передач» — автомат, механика, вариатор.

Выделяем ячейки, которые должны попасть в выпадающий список
Скриншот: Skillbox Media

Выделенный диапазон появится в поле «Источник» в открытом окне «Проверка данных». Сохраняем изменения — нажимаем на кнопку «ОК». Всплывающий список готов, осталось заполнить таблицу.

Потом можно будет изменить список — например, добавить ещё один вариант характеристики
Скриншот: Skillbox Media

Когда сохраните выпадающий список, Excel перенесёт вас на первый лист с характеристиками авто. Справа от первой ячейки столбца с коробками передач появилась стрелочка. Если кликнуть по ней, появится список со значениями.

Нажимаем на стрелочку, потом выбираем нужное значение
Скриншот: Skillbox Media

Кликаем на каждую ячейку столбца, справа от неё появляется стрелочка — выбираем нужное значение. Так проходим до конца таблицы.

Процесс заполнения таблицы через выпадающий список
Скриншот: Skillbox Media

По такому же принципу создаём выпадающие списки для оставшихся двух столбцов. Выделяем столбец, в котором нужно применить выпадающий список, и выбираем для него соответствующий диапазон значений. Для столбца «Привод» — диапазон значений «передний», «задний» и «4WD», для столбца «Руль» — диапазон значений «правый» и «левый».

Так получаем выпадающие списки для всех незаполненных ячеек. Не пишем параметры вручную, а выбираем их парой кликов мышкой.

Таблица полностью заполнена с помощью выпадающих списков
Скриншот: Skillbox Media

Если в эту таблицу добавить больше строк (автомобилей), не обязательно создавать новые выпадающие списки для них. Можно протянуть вниз значения уже созданных:

  • Очистим значения последней заполненной строки таблицы. Это нужно, чтобы протянулись пустые ячейки с выпадающими списками, а не уже выбранные значения.
  • Выделим одновременно три столбца и в правом нижнем углу крайнего столбца найдём значок плюса.
  • Захватим его и растянем вниз на все автомобили, добавленные в таблицу.

Так можно растянуть выпадающий список до конца таблицы, даже если сначала он был в нескольких ячейках
Скриншот: Skillbox Media

Готово — теперь в новых строках таблицы тоже можно выбирать значения из выпадающего списка.

Интересные методы, которые пригодятся менеджерам

  • «Рыбьи кости» Исикавы для поиска настоящих причин проблем в бизнесе
  • PEST-анализ для предсказания будущего компании
  • Матрица БКГ: определяем, в какой проект стоит инвестировать, а в какой — нет
  • SWOT-анализ: ищем возможности для развития и предстоящие проблемы
  • «Съешь лягушку»: метод для управления временем

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше

Понравилась статья? Поделить с друзьями:
  • Макрос для сохранения файла excel в папку
  • Макрос для сохранения файла excel в pdf
  • Макрос для сохранения одного листа excel
  • Макрос для сохранения листа excel в отдельный файл
  • Макрос для сохранения листа excel в pdf