Оглавление
До сих пор мы рассматривали как создавать выпадающие списки в Excel. Сегодня я покажу как создать выпадающий список с несколькими вариантами выбора в Excel .
Скачать Практическое пособие
Рабочую тетрадь для практических занятий можно скачать отсюда.
Создание выпадающего списка с множественным выбором.xlsmПошаговая процедура создания выпадающего списка в Excel с несколькими вариантами выбора
Здесь у нас есть набор данных со столбцом Название книги Наша цель сегодня - создать выпадающий список на основе этого набора данных с возможностью выбора нескольких вариантов. Я покажу пошаговую процедуру в следующем разделе.
ШАГ 1: Создание выпадающего списка с помощью проверки данных
Для создания выпадающего списка с несколькими вариантами выбора нам необходимо сначала создать выпадающий список. Давайте рассмотрим все процедуры.
- Сначала выберите ячейку, в которой вы хотите создать выпадающий список. Я выбрал ячейку Ячейка D5 .
- Затем перейдите к Данные вкладку и выберите Валидация данных из ленты.
- Затем, из Валидация данных в окне выберите Список в Разрешить и запишите ячейки диапазона, данные которых вы хотите добавить в список, в разделе Источник поле.
- Также вы можете нажать на маленькую стрелку вверх в окне Источник раздел и выберите диапазон данных на рабочем листе.
- Наконец, мы увидим выпадающий список, созданный в разделе Ячейка D5 .
Похожие чтения:
- Как сделать выпадающий список в Excel (независимый и зависимый)
- Сделать множественный выбор из выпадающего списка в Excel (3 способа)
- Как создать зависимый выпадающий список в Excel
- Создание выпадающего списка в нескольких столбцах в Excel (3 способа)
ШАГ 2: Включение множественного выбора в раскрывающемся списке с помощью кода VBA
Мы уже создали выпадающий список. Теперь пришло время подготовить выпадающий список для множественного выбора. Я буду использовать 2 VBA коды, позволяющие списку принимать несколько вариантов выбора. Один будет принимать повторение данных, а другой не будет принимать повторение данных.
Пример 1: Код VBA для множественного выбора с повторением
В этом разделе я покажу способ создания выпадающего списка с несколькими вариантами выбора, который будет принимать повторяющиеся данные.
Давайте пройдемся по процедурам.
- Сначала нажмите ALT + F11 чтобы открыть VBA окно.
- Затем выберите Исследователь проектов . Также, двойной - нажмите на листе, где нужно выполнить задание.
- Одновременно Код откроется окно.
- После этого напишите в этом окне следующий код.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = Target.Value ThenTarget.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Примечание: В части кода ( Если Target.Address = "$D$5" Затем ) вместо ссылки на ячейку $D$5, вы пишете ссылку на ячейку, в которой вы создали выпадающий список. - Наконец, вернитесь на рабочий лист, и мы сможем выбрать несколько элементов в выпадающем списке с повторением одного и того же элемента.
Пример 2: Код VBA для множественного выбора без повторения
В этом разделе я покажу способ создания выпадающего списка с несколькими вариантами выбора, который не требует повторения данных.
Давайте пройдемся по процедурам.
- Сначала нажмите ALT + F11 чтобы открыть VBA окно.
- Затем выберите Исследователь проектов . Также, двойной - нажмите на листе, где нужно выполнить задание.
- Одновременно Код появится окно.
- После этого введите в это окно следующий код.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue.Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
- Наконец, вернитесь на рабочий лист, и мы сможем выбрать несколько элементов в выпадающем списке без повторения одного и того же элемента.
Заключение
Используя этот метод, вы можете создать выпадающий список в Excel с несколькими вариантами выбора. У вас есть вопросы? Не стесняйтесь, дайте нам знать в разделе комментариев. Посетите наш сайт Веб-сайт ExcelWIKI для получения дополнительных статей о Excel .