Note: The other languages of the website are Google-translated. Back to English

Як створити випадаючий список із декількома прапорцями в Excel?

Багато користувачів Excel, як правило, створюють випадаючий список із декількома прапорцями, щоб вибирати кілька елементів зі списку за раз. Насправді ви не можете створити список із кількома прапорцями за допомогою перевірки даних. У цьому підручнику ми покажемо вам два способи створення випадаючого списку з декількома прапорцями в Excel.

Використовуйте поле списку, щоб створити випадаючий список із декількома прапорцями
В: Створіть поле списку з вихідними даними
B: Назвіть клітинку, в якій ви знаходите вибрані елементи
C: Вставте фігуру, яка допоможе вивести вибрані елементи
Легко створюйте випадаючий список за допомогою прапорців за допомогою дивовижного інструменту
Більше підручників для випадаючого списку ...


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

Як показано на знімку екрана, на поточному аркуші всі імена в діапазоні A2: A11 будуть вихідними даними списку. Натисніть кнопку в комірці C4, щоб вивести вибрані елементи, і всі вибрані елементи у полі списку будуть відображені в комірці E4. Для досягнення цього, будь ласка, зробіть наступне.

A. Створіть поле списку з вихідними даними

1. клацання Розробник > Insert > Вікно списку (Active X Control). Дивіться знімок екрана:

2. Намалюйте вікно списку на поточному аркуші, клацніть правою кнопкою миші та виберіть властивості з меню, що клацне правою кнопкою миші.

3 В властивості діалогове вікно, вам потрібно налаштувати наступним чином.

  • 3.1 У ListFillRange поле, введіть діапазон джерела, який відображатиметься у списку (тут я ввожу діапазон A2: A11);
  • 3.2 У ListStyle поле, виберіть 1 - опція стилю fmList;
  • 3.3 У MultiSelect поле, виберіть 1 - fmMultiSelectMulti;
  • 3.4 Закрийте властивості діалогове вікно. Дивіться знімок екрана:

B: Назвіть клітинку, в якій ви знаходите вибрані елементи

Якщо вам потрібно вивести всі вибрані елементи у вказану комірку, наприклад E4, виконайте наступне.

1. Виберіть комірку E4, введіть ListBoxOutput в Ім'я Box і натисніть кнопку вводити ключ

C. Вставте фігуру, щоб допомогти вивести вибрані елементи

1. клацання Insert > форми > Прямокутник. Дивіться знімок екрана:

2. Намалюйте прямокутник на своєму аркуші (тут я малюю прямокутник у клітинці С4). Потім клацніть прямокутник правою кнопкою миші та виберіть Призначити макрос з меню, що клацне правою кнопкою миші.

3 В Призначити макрос у діалоговому вікні натисніть новий кнопки.

4. На відкритті Microsoft Visual Basic для додатків вікно, будь ласка, замініть оригінальний код у Модулі вікно з наведеним нижче кодом VBA.

Код VBA: Створіть список із кількома прапорцями

Sub Rectangle1_Click()
'Updated by Extendoffice 20200730
Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
Dim xV As String
Set xSelShp = ActiveSheet.Shapes(Application.Caller)
Set xLstBox = ActiveSheet.ListBox1
If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    xStr = ""
    xStr = Range("ListBoxOutput").Value
    
    If xStr <> "" Then
         xArr = Split(xStr, ";")
    For I = xLstBox.ListCount - 1 To 0 Step -1
        xV = xLstBox.List(I)
        For J = 0 To UBound(xArr)
            If xArr(J) = xV Then
              xLstBox.Selected(I) = True
              Exit For
            End If
        Next
    Next I
    End If
Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
        If xLstBox.Selected(I) = True Then
        xSelLst = xLstBox.List(I) & ";" & xSelLst
        End If
    Next I
    If xSelLst <> "" Then
        Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
        Range("ListBoxOutput") = ""
    End If
End If
End Sub

Примітка: У коді, Прямокутник1 - назва фігури; ListBox1 - ім'я вікна списку; Виберіть Параметри і Варіанти самовивозу відображаються тексти фігури; та ListBoxOutput - назва діапазону вихідної комірки. Ви можете змінити їх відповідно до своїх потреб.

5. прес інший + Q клавіші одночасно, щоб закрити Microsoft Visual Basic для додатків вікна.

6. Натискання кнопки прямокутника призведе до згортання або розширення вікна списку. Коли поле списку розширюється, перевірте елементи у полі списку, а потім клацніть прямокутник ще раз, щоб вивести всі вибрані елементи в клітинку E4. Дивіться нижче демонстрацію:

7. А потім збережіть книгу як Робоча книга Excel з підтримкою макросу для повторного використання коду в майбутньому.


Створіть випадаючий список із прапорцями за допомогою дивовижного інструменту

Вищевказаний метод занадто багатоступеневий, щоб його легко обробити. Тут настійно рекомендую Випадаючий список із прапорцями корисність Kutools для перевершувати щоб допомогти вам легко створити розкривний список із прапорцями у визначеному діапазоні, поточний аркуш, поточна книга або всі відкриті книги відповідно до ваших потреб. Дивіться демонстрацію нижче:
Завантажте та спробуйте зараз! (30-денний безкоштовний маршрут)

Окрім вищезазначеної демонстрації, ми також надаємо покрокове керівництво, щоб продемонструвати, як застосувати цю функцію для досягнення цього завдання. Будь ласка, виконайте наступне.

1. Відкрийте робочий аркуш, для якого ви встановили розкривний список перевірки даних, натисніть Кутулс > Випадаючий список > Випадаючий список із прапорцями > Налаштування. Дивіться знімок екрана:

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

  • 2.1) У Застосувати до у розділі вкажіть область застосування, де ви будете створювати прапорці для елементів зі спадного списку. Ви можете вказати a певний діапазон, поточний аркуш, чинна робоча книга or всі відкриті робочі книги в залежності від потреб.
  • 2.2) У режим розділ, виберіть стиль, який потрібно вивести для вибраних елементів;
  • Тут бере Змінювати як приклад, якщо ви виберете цей параметр, значення комірки буде змінено залежно від вибраних елементів.
  • 2.3) У сепаратор поле, введіть роздільник, який ви будете використовувати для розділення декількох елементів;
  • 2.4) У Напрямок тексту розділ, виберіть напрямок тексту відповідно до ваших потреб;
  • 2.5) Клацніть на OK кнопки.

3. Останній крок натисніть Кутулс > Випадаючий список > Випадаючий список із прапорцями > Увімкніть розкривний список прапорців щоб активувати цю функцію.

Відтепер, коли ви клацаєте клітинки зі спадним списком у зазначеній області, спливає вікно списку. Будь ласка, виберіть елементи, встановивши прапорці для виведення в клітинку, як показано нижче (Візьміть режим Modify як приклад ).

Щоб отримати докладнішу інформацію про цю функцію, будь ласка, завітайте сюди.

  Якщо ви хочете отримати безкоштовну пробну версію (30 днів) цієї утиліти, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


Статті по темі:

Автозаповнення під час набору тексту у випадаючому списку Excel
Якщо у вас є розкривний список перевірки даних із великими значеннями, вам потрібно прокрутити список унизу, лише щоб знайти правильний, або ввести ціле слово безпосередньо у поле списку. Якщо є спосіб дозволити автозаповнення під час введення першої літери у випадаючому списку, все стане простіше. Цей посібник пропонує метод вирішення проблеми.

Створіть випадаючий список з іншої книги в Excel
Створити випадаючий список перевірки даних серед робочих аркушів у книзі досить просто. Але якщо дані списку, необхідні для перевірки даних, знаходяться в іншій книзі, що б ви зробили? У цьому посібнику ви дізнаєтесь, як детально створити випадаючий список з іншої книги в Excel.

Створіть розкривний список для пошуку в Excel
Для випадаючого списку з численними значеннями пошук правильного - непроста робота. Раніше ми запровадили метод автоматичного заповнення випадаючого списку при введенні першої літери у випадаючому вікні. Окрім функції автозавершення, ви також можете зробити пошук у розкривному списку для підвищення ефективності роботи при пошуку належних значень у розкривному списку. Щоб зробити пошук у розкривному списку спробним, скористайтеся методом у цьому посібнику.

Автоматично заповнювати інші комірки під час вибору значень у спадному списку Excel
Скажімо, ви створили випадаючий список на основі значень у діапазоні комірок B8: B14. Вибираючи будь-яке значення зі спадного списку, ви хочете, щоб відповідні значення в діапазоні комірок C8: C14 автоматично заповнювались у вибраній комірці. Для вирішення проблеми методи з цього посібника допоможуть вам.

Більше підручників для випадаючого списку ...


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (67)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Це фантастично. Але буде краще, якщо багаторазове виділення можна розмістити там, де активний курсор. Не обов'язково те, що вказує код.
Цей коментар був мінімізований модератором на сайті
Це саме те, що я шукав, чи можна змінити код, щоб вибрані дані відображалися в окремих клітинках у стовпці? тому замість: понеділок, вівторок, середа відображати як. понеділок вівторок середа
Цей коментар був мінімізований модератором на сайті
Це саме те, що я шукав, чи є модифікація коду, яка помістить наступне виділення зі списку в наступному рядку. наприклад, один два три Замість : один, два, три
Цей коментар був мінімізований модератором на сайті
Чи можете ви пояснити, як ви додали ListBoxOutput до клітинки E4
Цей коментар був мінімізований модератором на сайті
Привіт, як можна скопіювати цей список для кількох клітинок. Просто копіювати та вставляти не працює. Не могли б ви пояснити, наприклад, у кожній клітинці (E5,E6,E7,E8,...), як я можу розмістити це поле вибору?
Цей коментар був мінімізований модератором на сайті
не могли б ви пояснити, як я можу легко скопіювати цей список на 100 рядків? (окремі списки для кожного із 100 рядків)
Цей коментар був мінімізований модератором на сайті
Після завершення виведення та натискання кнопки знову, попередні вибрані елементи у списку не можна змінити. Як вирішити?
Цей коментар був мінімізований модератором на сайті
Дякую! Це чудово і це працює!
Цей коментар був мінімізований модератором на сайті
Я новачок у цьому, але чи може хтось підказати мені, як створити ListBox із кількома виділенням, який відкриватиметься, наприклад, коли я вибираю ім’я. Я хочу, щоб поле зі списком вмістилося в одному.
ПРИКЛАД: У мене є список імен із контактною інформацією тощо. Я хочу створити дублікат списку для кожного імені в моєму списку. Я хотів би, щоб він відкривався автоматично, коли я вибираю ім’я, і згортався назад у клітинку, коли я переходжу до іншого рядка інформації. Порадьте, будь ласка. Заздалегідь спасибі.
Цей коментар був мінімізований модератором на сайті
Шановний Ренді,
На жаль, не можу вирішити цю проблему.
Цей коментар був мінімізований модератором на сайті
Він працює ідеально відповідно до інструкцій, але якщо я захищаю аркуш, він дає помилку. Будь-який обхідний шлях для цього?
Цей коментар був мінімізований модератором на сайті
Працює ідеально згідно з інструкцією. Але як я можу використовувати це на захищеному аркуші. Наразі, якщо я використовую це після захисту аркуша, це дає мені та помилку "Помилка під час виконання '-2147024809 (80070057)': Вказане значення виходить за межі діапазону"
Цей коментар був мінімізований модератором на сайті
Шановний Аміт Суд,
Перш ніж захистити аркуш, відформатуйте вихідну клітинку як розблоковану, а потім застосуйте наведений нижче код VBA. Дякуємо за коментар.

Підпрямокутник2_Click()
Dim xSelShp як фігура, xSelLst як варіант, I як ціле число
On Error Resume Next
Встановіть xSelShp = ActiveSheet.Shapes(Application.Caller)
Встановіть xLstBox = ActiveSheet.ListBox1
Якщо xLstBox.Visible = False Тоді
xLstBox.Visible = Правда
xSelShp.TextFrame2.TextRange.Characters.Text = "Параметри самовивезення"
Ще
xLstBox.Visible = False
xSelShp.TextFrame2.TextRange.Characters.Text = "Вибрати параметри"
Для I = xLstBox.ListCount - від 1 до 0 Крок -1
Якщо xLstBox.Selected(I) = True, то
xSelLst = xLstBox.List(I) & ";" & xSeLst
End If
Далі я
Якщо xSelLst <> "" Тоді
Діапазон("ListBoxOutput") = Середина(xSelLst, 1, Len(xSelLst) - 1)
Ще
Діапазон ("ListBoxOutput") = ""
End If
End If
End Sub
Цей коментар був мінімізований модератором на сайті
«Я створив файл за допомогою списку ActiveX, як вам пояснили, я ввів деякі дані та також додав деякі властивості. Я перевірив деякі дані, використовуючи прапорець у списку, і зберіг та вийшов із файлу. Повторне відкриття файлу не показує жодних перевірених даних... чи може хтось дати мені пропозицію зберегти ці оновлення".
Чи може хтось допомогти мені, будь ласка.
Цей коментар був мінімізований модератором на сайті
Хороший день,
Будь ласка, помістіть наведений нижче код VBA у вікно коду ThisWorkbook.
У коді Sheet6 — це назва за замовчуванням робочого аркуша, який містить поле зі списком, яке ви хочете зберегти, як показано нижче. А ListBox1 — це ім'я списку. Будь ласка, змініть їх у міру необхідності.

Приватна підпорядкована робоча книга_BeforeSave(ByVal SaveAsUI як Boolean, Скасувати як Boolean)
Викликати SaveSelections
End Sub

Приватна додаткова робоча книга_Open()
Викликати RestoreSelections
End Sub

Приватний допоміжний SaveSelections()

Dim arr() як варіант, i як довго, j як довго

З Sheet6.OLEObjects("ListBox1").Object
Якщо .ListIndex > 0 Тоді
Для i = 0 До .ListCount - 1
Якщо .Selected(i) Тоді
j = j + 1
ReDim Preserve arr(1 до j)
arr(j) = i
End If
Далі
Names.Add Name:="Вибір", RefersTo:=arr, Visible:=False
End If
Кінець з

End Sub

Private Sub RestoreSelections()

Dim arr як варіант, i як ціле число

arr = [Вибірки]

З Sheet6.OLEObjects("ListBox1").Object
Для i = 1 до UBbound(arr)
.Selected(arr(i)) = True
Далі
Кінець з

End Sub
Цей коментар був мінімізований модератором на сайті
Дякую за відповідь, пане, але це не працює у випадку з моїм файлом. Ви можете надіслати свій ідентифікатор електронної пошти, щоб я міг надіслати вам свій файл.
Спасибо заранее
Цей коментар був мінімізований модератором на сайті
Шановний Манжуша Исак,
Будь ласка, надішліть свій файл на zxm@addin99.com. Сподіваюся, що зможу допомогти.
Цей коментар був мінімізований модератором на сайті
Крім того, вам потрібно зберегти книгу як книгу Excel з підтримкою макросів і активувати код щоразу, коли ви змінюєте вибір у списку.
Цей коментар був мінімізований модератором на сайті
Я хочу автоматично оновлювати імена в різних стовпцях. чи можливо, якщо можливо, поділіться мені кодом.
Цей коментар був мінімізований модератором на сайті
Дивовижно працює, але після того, як я закрию Excel і відкрию його знову, прапорець зникне, тому, якщо я натисну кнопку, весь список зникне, будь-яке рішення для цього
будь ласка, допоможіть мені хтось
Наперед дуже дякую
Цей коментар був мінімізований модератором на сайті
Любий Ангеле,
Ми опублікували статтю "Як зберегти або зберегти виділення списків ActiveX в Excel?" який представляє метод збереження виділених полів списку після закриття та повторного відкриття книги.
Ви можете перейти за цим посиланням, щоб отримати більше інформації: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
Цей коментар був мінімізований модератором на сайті
дивовижно, що він працює, але у мене є одна проблема після того, як я зберіг файл і знову його відкрию, усі прапорці зі списку прапорців зникли
Ви можете допомогти мені з цим, дуже дякую
Цей коментар був мінімізований модератором на сайті
також він змінює розмір поля зі списком і форму завжди після збереження та знову відкриває файл, якщо хтось має рішення цієї проблеми, будь ласка, допоможіть мені

Дякую вам так багато
Цей коментар був мінімізований модератором на сайті
Шановний Марк,
Ми опублікували статтю "Як зберегти або зберегти виділення списків ActiveX в Excel?" який представляє метод збереження виділених полів списку після закриття та повторного відкриття книги.
Ви можете перейти за цим посиланням, щоб отримати більше інформації: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
Цей коментар був мінімізований модератором на сайті
Здравствуйте,

Мені цікаво, чи є спосіб направити параметри підбору до кількох осередків (не лише E4) або зробити вибір у спадному контрольному списку, щоб я міг вибрати кілька варіантів із контрольного списку, але робити це постійно та незалежно від інший вибір, який я зробив. Наприклад, як би я використовував той самий список параметрів самовивезення, щоб ввести різний вибір елементів для E5, E6, E7 тощо з того самого списку отримання.

Дякую
Цей коментар був мінімізований модератором на сайті
Привіт, ЛізКетс!
Спробуйте наведений нижче код. Сподіваюся, що зможу допомогти. Дякую.

Підпрямокутник2_Click()

'Оновлено Extendoffice 20200529

Dim xSelShp як фігура, xSelLst як варіант, i як ціле число

Встановіть xSelShp = ActiveSheet.Shapes(Application.Caller)

Встановіть xLstBox = ActiveSheet.ListBox1

Dim xRg As Range

Dim xCount, xFNum, xR, xC Як ціле число

Dim xStr як рядок

Якщо xLstBox.Visible = False Тоді

xLstBox.Visible = Правда

xSelShp.TextFrame2.TextRange.Characters.Text = "Параметри самовивезення"

Ще

xLstBox.Visible = False

xSelShp.TextFrame2.TextRange.Characters.Text = "Вибрати параметри"

Встановити xRg = діапазон ("ListBoxOutput")

xCount = xLstBox.ListCount - 1

xStr = ""

Для i = xLstBox.ListCount - від 1 до 0 Крок -1

Якщо xLstBox.Selected(i) = True, то

xStr = xLstBox.List(i) & ";" & xStr

End If

Далі я



Якщо xRg.Value = "" Тоді

xRg.Value = xStr

Ще

Встановити xRg = xRg.Offset(1, 0)

Робити, поки xRg.Value <> ""

Встановити xRg = xRg.Offset(1, 0)

Петля

xRg.Value = xStr

End If

End If

End Sub
Цей коментар був мінімізований модератором на сайті
Він працює добре, дуже дякую за вашу допомогу. У мене є одна проблема: весь вихід надходить в одну і ту ж клітинку E4, як ми можемо отримати вихід в різних клітинках, наприклад: вихід для C4 в E4, C5 в E5, C6 в E6 тощо.
Цей коментар був мінімізований модератором на сайті
Хороший день,
Проблему, яку ви згадали, поки не можна вирішити.
Цей коментар був мінімізований модератором на сайті
Добрый день! Прошу допомогти.
Як зробити так, щоб кожне значення вийшло на нову клетку? щоб по виходіло по вертикалі?
Цей коментар був мінімізований модератором на сайті
ДОПОМОГІТЬ!!! як вивести в різних діапазонах (по вертикалі)?
Цей коментар був мінімізований модератором на сайті
Підпрямокутник2_Click()
'Оновлено Extendoffice 20190924
Dim xSelShp як фігура, xSelLst як варіант, I як ціле число
Dim xRg As Range
Встановіть xSelShp = ActiveSheet.Shapes(Application.Caller)
Встановіть xLstBox = ActiveSheet.ListBox1
Якщо xLstBox.Visible = False Тоді
xLstBox.Visible = Правда
xSelShp.TextFrame2.TextRange.Characters.Text = "Параметри самовивезення"
Ще
xLstBox.Visible = False
xSelShp.TextFrame2.TextRange.Characters.Text = "Вибрати параметри"
Встановити xRg = діапазон ("ListBoxOutput")
Для I = 0 До xLstBox.ListCount - 1
Якщо xLstBox.Selected(I) = True, то
xSelLst = xLstBox.List(I)
xRg.Value = Середина(xSelLst, 1, Len(xSelLst))
Встановити xRg = xRg.Offset(1, 0)
End If
Далі я
End If
End Sub
Цей коментар був мінімізований модератором на сайті
Como puedo replicar éste ejercicio en las filas inferiores?
Як я можу повторити цю вправу в рядках нижче?
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця