Зміст
Коли ми працюємо з великим масивом даних, часто буває складно отримати з нього будь-яке вибіркове значення. Більше того, не можна вибрати більше, ніж кілька фрагментів інформації одночасно. У цьому випадку, ListBox є дуже корисним рішенням в Excel Але процес створення цього ListBox Тому в цій статті ми навчимося створювати мультивибірку ListBox в Excel за допомогою кількох простих кроків.
Завантажити Практичний посібник
Отримайте зразок файлу для практики.
Multi Select ListBox.xlsmПокрокові дії по створенню списку з декількома випадаючими списками в Excel
Щоб полегшити процес, ми розділили його на 8 Отже, без подальших зволікань, давайте перейдемо до наведених нижче кроків, щоб побачити, як ми можемо створити мультивибірку ListBox в Excel.
Крок 1: Створіть таблицю Excel з набору даних
Спочатку нам потрібно підготувати вибірку даних і перетворити її в таблицю. Для цього виконаємо наступні кроки.
- По-перше, створіть набір даних з інформацією про 10 Назви міст та їхні Загальна кількість населення про США касовий апарат 1, липень в Діапазон комірок B5:C14 .
- Тепер клацніть на будь-якій комірці набору даних і виберіть Таблиця від Вставка рахунок.
- Потім ви побачите Створити таблицю вікно, яке автоматично вибирає діапазон комірок для створення таблиці.
- У цьому вікні встановіть галочку напроти пункту Моя таблиця має заголовки і натисніть ГАРАЗД. .
- В результаті ви побачите, що набір даних перетворено в таблицю.
- Разом з ним ви можете ознайомитися з таблицею в розділі Назва таблиці під рубрикою "Коробка" в розділі Дизайн столу вкладка
- Ви можете змінити назву таблиці на свій розсуд.
Читати далі: Як створити залежний випадаючий список в Excel
Крок 2: Список наборів даних імен з Менеджера імен
Тепер дамо назву кожній категорії діапазону комірок з таблиці. Для цього пройдемо по кроках.
- Спочатку виберіть будь-яку комірку з Колонка Б у таблиці.
- Потім перейдіть на сторінку Формули і виберіть вкладку Визначити ім'я .
- Після цього ви побачите Нова назва діалогове вікно.
- У цьому діалоговому вікні введіть будь-яку назву відповідно до обраного заголовку стовпця у вікні Ім'я та прізвище Ящик.
- Далі необхідно натиснути на кнопку Відноситься до у цьому ж вікні.
- Потім наведіть курсор на заголовок і він покаже чорну стрілку.
- Після цього, натиснувши лівою кнопкою миші, виберіть пункт Діапазон комірок B5:B14 .
- В результаті ви побачите список імен разом з назвою таблиці в розділі Відноситься до і натисніть ГАРАЗД. .
- Аналогічну процедуру виконайте для Діапазон комірок C5:C14 також.
- Нарешті, ви побачите імена в Поле для введення імені у верхньому лівому куті робочого зошита.
Крок 3: Створення випадаючого списку з перевіркою даних
На цьому етапі ми створимо випадаючий список з іменованих діапазонів з перевіркою даних. Це важлива частина створення ListBox Ми створимо його на іншому аркуші книги, але ви можете зробити це і на цьому ж аркуші. Давайте розглянемо процес нижче.
- На початку виділіть кілька клітинок з таблиці, до яких потрібно застосувати Перевірка даних .
- Потім перейдіть на сторінку Дані вкладку та оберіть Перевірка даних в Інструменти даних розділ.
- Далі, в рамках Налаштування вкладка, виберіть Список в Дозволити Ящик.
- Також, відмітка поставила галочку напроти Ігнорувати пусте місце і Випадаюче меню в комірці коробки.
- Після цього натисніть на кнопку Джерело у цьому вікні та натисніть кнопку F3 на клавіатурі.
- В результаті ви побачите Назва пасти діалогове вікно зі списком імен.
- Тут обирайте Назви міст зі списку та натисніть ГАРАЗД. .
- Після цього ви побачите назву першого списку, що відображається у вікні джерела.
- Наостанок, натисніть ГАРАЗД. і застосувати той самий процес до другого списку імен.
- Нарешті, ви побачите, що Перевірка даних активується на виділених комірках.
Крок 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 для трудової книжки разом з ListBox і деякі Командні кнопки Для цього необхідно виконати наступну процедуру.
- Спочатку виберіть робочу книгу в розділі Project-VBAProject вікно у вікні Visual Basic редактор.
- Потім перейдіть на сторінку Вставка і виберіть вкладку UserForm .
- В результаті ви отримаєте UserForm інтерфейс, як цей.
- Разом з цим, ви також отримаєте Інструментарій вікно.
- Звідси тягніть ListBox до UserForm .
- Після цього, на засіданні ListBox буде виглядати наступним чином. Ви можете регулювати розмір, перетягуючи краї поля.
- Далі перетягніть кнопку CommanButton двічі до UserForm а також створити 2 кнопки для роботи.
- Врешті-решт, кінцевий результат виглядає наступним чином.
Крок 6: Зміна налаштувань властивостей
На цьому етапі ми внесемо деякі зміни у властивості кожного компонента ListBox .
- На початку натисніть F4 на Visual Basic редактора, щоб відкрити Вікно властивостей .
- Потім виберіть пункт UserForm і змінити Ім'я та прізвище і Підпис ось так.
- Далі оберіть ListBox і змінити Ім'я та прізвище відповідно до ваших уподобань.
- Крім того, змінюється тип ListStyle , MultiSelect і Спецефект як показано на малюнку нижче.
- Тепер обираємо першу командну кнопку та вносимо наступні зміни у властивості.
- Крім того, відредагуйте також властивості другої командної кнопки.
Крок 7: Застосування коду VBA до UserForm
На даному етапі ми будемо застосовувати VBA коди до кожної зі складових частин UserForm Подивимося, як це працює.
- Спочатку виберіть UserForm і поїдемо до Вид вкладку, щоб вибрати Код .
- Потім вставте цей код на чисту сторінку. Він автоматично запуститься при натисканні кнопки UserForm відкрито.
Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub
- Після цього поверніться до UserForm інтерфейсу, натиснувши на Об'єкт на Вид рахунок.
- Тепер, дотримуйтесь процесу, щоб вставити цей код для ГАРАЗД. кнопку.
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 = strAdd_ & strSep & strAdd End If End If Next lCountList End 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 з'явиться спливаюче вікно з командою Вибрати елемент зі списку .
- У цьому вікні оберіть декілька прізвищ зі списку.
- Потім натисніть ГАРАЗД. .
- Нарешті, ви успішно пройшли багаторазовий відбір з ListBox і кожне ім'я відокремлюється символом Кома ( , ).
Важливі моменти для запам'ятовування
- Іменовані діапазони не створить Перевірка даних правило, якщо вони введені як посилання на комірку або з роздільниками.
- На сьогоднішній день, на жаль, це не так. Глобальна змінна застосовується для обох UserForm і Робочий аркуш VBA код. Будь-яке активне ім'я комірки спочатку передає код strDVList до тимчасового діапазону, а потім використовується як RowSource для ListBox коли користувач відкриває сторінку UserForm .
- Ви можете об'єднати кілька діапазонів в одній назві для зручності вибору.
Висновок
На цьому на сьогодні все. Сподіваюся, що ці довгі, але прості кроки про те, як створити ListBox з множинним вибором в excel трохи спростили для вас цю тему. Повідомте нам про ваші побажання в коментарях. Слідкуйте за оновленнями. ExcelWIKI щоб побачити більше подібних статей.