Excel выпадающий список через макрос

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

Очень удобный инструмент 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.

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

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

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

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

Давайте рассмотрим несколько типовых вариантов реализации такого списка с мультивыбором.

Вариант 1. Горизонтальный

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

dropdown-multi-select1.gif

Выпадающие списки в ячейках С2:С5 в данном примере создаются стандартным образом, т.е.

  1. выделить ячейки С2:С5
  2. на вкладке или в меню Данные (Data) выбрать команду Проверка данных (Data Validation)
  3. в открывшемся окне выбрать вариант Список (List) и указать в качестве диапазона Источник (Source) ячейки с исходными данными для списка A1:A8

Затем в модуль листа нужно добавить макрос, который и будет делать всю основную работу, т.е. добавлять выбранные значения справа от зеленых ячеек. Для этого щелкните правой кнопкой мыши по ярлычку листа с выпадающими списками и выберите команду Исходный текст (Source code). В открывшееся окно редактора Visual Basic нужно вставить следующий код:

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

При необходимости, замените во второй строке этого кода чувствительный диапазон выпадающих списков С2:С5 на свой.

Вариант 2. Вертикальный

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

dropdown-multi-select2.gif

Делается совершенно аналогично, но немного меняется код макроса обработчика:

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

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

Вариант 3. С накоплением в той же ячейке

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

dropdown-multi-select3.gif

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

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

При желании, можно заменить символ-разделитель (запятую) в 9-й строке кода на свой (например, пробел или точку с запятой).

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

  • Как создать простой выпадающий список в ячейке листа Excel
  • Выпадающий список с наполнением
  • Выпадающий список с добавлением недостающих вариантов
  • Что такое макросы, как их использовать, куда вставлять код макросов на Visual Basic

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

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

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

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

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

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

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

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

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

Разработчик

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

Макрос

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

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

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

Горизонтальный список
Текст макроса:
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
указывается разделитель «//». Его можно заменить на любой знак препинания, текст или поставить пробел.

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

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

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

Ранг: Ветеран

Сообщений: 707


Репутация:

154

±

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


Excel 2003

Цитата

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

В модуль листа
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(«E4»)) Is Nothing Then
  Application.EnableEvents = False
Dim iDate As Date
    iDate = CDate(«1 » & Target & » 2021″)
    Target = Format(DateSerial(Year(iDate), Month(iDate) + 1, 1), «MMMM»)
End If
  Application.EnableEvents = True
End Sub

[/vba]

Like this post? Please share to your friends:
  • Excel выпадающий список цвет ячейки
  • Excel выпадающий список формула если
  • Excel выпадающий список увеличить окно
  • Excel выпадающий список строки таблицы
  • Excel выпадающий список с пустыми значениями