Как создать Multi Select ListBox в Excel (с помощью простых шагов)

  • Поделись Этим
Hugh West

Когда мы работаем с большим набором данных, часто бывает трудно извлечь из него какую-либо выборочную ценность. Более того, вы не можете выбрать более нескольких частей информации одновременно. В этом случае, ListBox является очень полезным решением в Excel Но процесс создания этого ListBox является немного сложным. Поэтому в этой статье мы узнаем, как создать мультивыборку ListBox в excel с помощью нескольких простых шагов.

Скачать Рабочую тетрадь для практических занятий

Получите файл-образец для тренировки.

Multi Select ListBox.xlsm

Пошаговые процедуры для создания Multi Select ListBox в Excel

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

Шаг 1: Создание таблицы Excel из набора данных

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

  • Сначала создайте набор данных с информацией о 10 названий городов и их Общая численность населения из США до 1, июль в Диапазон клеток B5:C14 .

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

  • Затем вы увидите Создать таблицу окно, которое автоматически выбирает диапазон ячеек для создания таблицы.
  • В этом окне установите флажок В моей таблице есть заголовки поле и нажмите OK .

  • В результате вы увидите, что набор данных преобразован в таблицу.

  • Наряду с ним, вы можете найти таблицу в Название таблицы поле под Дизайн стола вкладка

  • Вы можете изменить имя таблицы в соответствии со своими предпочтениями.

Читать далее: Как создать зависимый выпадающий список в Excel

Шаг 2: Назовите список наборов данных из менеджера имен

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

  • Сначала выберите любую ячейку из Колонка B в таблице.
  • Затем перейдите к Формулы вкладку и выберите Определить имя .

  • После этого вы увидите Новое имя диалоговое окно.
  • В этом диалоговом окне укажите любое имя в соответствии с заголовком выбранного столбца в поле Имя коробка.

  • Далее нажмите на Относится к в том же окне.
  • Затем наведите курсор на заголовок, и на нем появится черная стрелка.
  • После этого нажмите левую кнопку мыши, чтобы выбрать пункт Диапазон клеток B5:B14 .

  • В результате вы увидите список имен вместе с именем таблицы в окне Относится к поле и нажмите OK .

  • Выполните ту же процедуру для Диапазон клеток C5:C14 также.
  • Наконец, вы увидите имена в Именная коробка в левом верхнем углу рабочей книги.

Шаг 3: Создание выпадающего списка с проверкой данных

На этом этапе мы создадим выпадающий список из именованных диапазонов с проверкой данных. Это основная часть создания ListBox Мы создадим это в другом рабочем листе рабочей книги. Но вы можете сделать это и в том же рабочем листе. Давайте посмотрим процесс ниже.

  • В начале выделите некоторые ячейки таблицы, к которым вы хотите применить Валидация данных .
  • Затем перейдите к Данные вкладку и выберите Валидация данных в Инструменты данных секция.

  • Далее, в Настройки выберите Список в Разрешить коробка.

  • Кроме того, Марк проверил Игнорировать пустоту и Выпадающий элемент в ячейке коробки.

  • После этого нажмите на кнопку Источник поле в этом окне и нажмите F3 на клавиатуре.
  • В результате вы увидите Название пасты диалоговое окно со списком имен.
  • Здесь выберите CityNames из списка и нажмите кнопку OK .

  • После этого в поле источника появится название первого списка.

  • Наконец, нажмите OK и примените тот же процесс для второго списка имен.
  • Наконец, вы увидите, что Валидация данных активируется на выбранных ячейках.

Шаг 4: Вставка кода VBA в проверенный рабочий лист

Теперь наступает решающий момент - вставка VBA код для создания ListBox Ниже приведен процесс.

  • Сначала щелкните правой кнопкой мыши на проверенном рабочем листе и выберите Посмотреть код из Контекстное меню .

  • Затем вставьте этот код на страницу.
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList As String On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3Then strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub 

  • Затем перейдите к Вставка вкладку и выберите Модуль .
  • На этом этапе имя рабочей книги должно быть выбрано в окне Объект проекта окно.

  • Затем переименуйте модуль в modSettings и вставьте этот код.
 Option Explicit Global strDVList As String 

Благодаря Контекстуры за предоставление кодов.

Шаг 5: Создание формы UserForm со списком и кнопками

На этом этапе мы создадим UserForm для рабочей книги вместе с ListBox и некоторые Командные кнопки Для этого выполните следующие действия.

  • Сначала выберите рабочую книгу в Проект-VBAProject окно в Visual Basic редактор.

  • Затем перейдите к Вставка вкладку и выберите UserForm .

  • В результате вы получите UserForm такой интерфейс.

  • Вместе с этим вы также получите Ящик для инструментов окно.
  • Отсюда перетащите ListBox к UserForm .

  • Затем ListBox Вы можете изменить размер, перетаскивая края поля.

  • Затем перетащите CommanButton дважды, чтобы UserForm а также создать 2 кнопки для управления.

  • Наконец, окончательный результат выглядит следующим образом.

Шаг 6: Изменение настроек свойств

На этом этапе мы внесем некоторые изменения в свойства каждого компонента ListBox .

  • В начале нажмите F4 на Visual Basic редактор, чтобы открыть Окно свойств .
  • Затем выберите UserForm и изменить Имя и Надпись вот так.

  • Далее выберите ListBox и изменить Имя в соответствии с вашими предпочтениями.

  • Кроме того, измените тип ListStyle , MultiSelect и SpecialEffect как показано на рисунке ниже.

  • Теперь выберите первую командную кнопку и внесите следующие изменения в свойства.

  • Кроме того, отредактируйте свойства второй командной кнопки.

Шаг 7: Применить код VBA к форме UserForm

На этом этапе мы будем применять VBA коды для каждого из компонентов UserForm Давайте посмотрим, как это работает.

  • Сначала выберите UserForm и отправляйтесь в Посмотреть выберите вкладку Код .

  • Затем вставьте этот код на пустую страницу. Он автоматически запустится, когда на экране появится окно UserForm открывается.
 Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub 

  • После этого вернитесь к UserForm интерфейс, нажав на Объект на Посмотреть вкладка.

  • Теперь выполните следующие действия, чтобы вставить этот код для OK кнопка.
 Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = "" End If If strSelItems = "" Then strSelItems = strAdd Else If strAdd "" Then strSelItems = strSelItems_ & strSep & strAdd End If End If Next lCountList End With With With ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub 

  • Вместе с этим введите следующий код для Закрыть кнопку с помощью того же процесса.
 Private Sub cmdClose_Click() Unload Me End Sub 

  • Наконец, нажмите Ctrl + S чтобы сохранить его и закрыть окно.

Благодаря Контекстуры за помощь с кодами.

Шаг 8: Мультивыбор из ListBox

Наконец, мы успешно создали ListBox Чтобы проверить, работает код или нет, просто выполните следующие действия.

  • Сначала выберите Клетка B5 где мы применили Валидация данных .
  • Сразу после этого ListBox появится команда Выберите элемент из списка .
  • В этом окне выберите несколько имен из списка.

  • Затем нажмите OK .
  • Наконец, вы успешно выполнили мультивыбор из ListBox и каждое имя разделяется символом Запятая ( , ).

О чем следует помнить

  • Именованные диапазоны не будет создавать Валидация данных правило, если они введены как ссылка на ячейку или с разделителями.
  • Сайт Глобальная переменная применяется для обоих UserForm и Рабочая таблица VBA код. Любое активное имя ячейки изначально передает код strDVList во временный диапазон, а затем используется как RowSource для ListBox когда пользователь открывает UserForm .
  • Для удобства выбора можно объединить несколько диапазонов в одно имя.

Заключение

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

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.