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

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

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

doc выберите несколько элементов из раскрывающегося списка 1 стрелка вправо doc выберите несколько элементов из раскрывающегося списка 2

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

Выберите несколько элементов из раскрывающегося списка в ячейку с помощью удобной опции Kutools for Excel


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

Вот некоторые VBA, которые могут оказать вам услугу при решении этой задачи.

Выберите повторяющиеся элементы из раскрывающегося списка в ячейке

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

2. Затем в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код в пустой скрипт.

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

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    If xStrNew = Target.Value Then
    Else
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    End If
    Application.EnableEvents = True
End Sub

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

Примечание:

1. С помощью VBA элементы разделяются пробелами, вы можете изменить xStrNew = xStrNew & "" & Целевое значение другим, чтобы изменить разделитель по мере необходимости. Например, xStrNew = xStrNew & "," & Целевое значение разделит элементы запятыми.

2. Этот код VBA работает для всех раскрывающихся списков на листе.

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

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

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

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim I As Integer
    Dim xRgVal As Range
    Dim xStrNew As String
    Dim xStrOld As String
    Dim xFlag As Boolean
    Dim xArr
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xFlag = True
    xStrNew = " " & Target.Value & " "
    Application.Undo
    xStrOld = Target.Value
    If InStr(1, xStrOld, xStrNew) = 0 Then
        xStrNew = xStrNew & xStrOld & " "
    Else
        xStrNew = xStrOld
    End If
    Target.Value = xStrNew
    Application.EnableEvents = True
End Sub

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


Выберите несколько элементов из раскрывающегося списка в ячейку с помощью удобной опции Kutools for Excel

Если вы не знакомы с кодом VBA, вы можете бесплатная установка удобный инструмент - Kutools for Excel, который содержит группу утилит о выпадающем списке, и есть опция Раскрывающийся список с множественным выбором может помочь вам легко выбрать несколько элементов из раскрывающегося списка в ячейку.

После создания раскрывающегося списка выберите ячейки раскрывающегося списка и нажмите Кутулс > Раскрывающийся список > Раскрывающийся список с множественным выбором чтобы включить эту утилиту.
doc kutools выпадающий список с множественным выбором 1

Затем из выбранных ячеек раскрывающегося списка можно выбрать несколько элементов в ячейке.

Если вы используете эту опцию в первый раз, вы можете указать настройки этой утилиты по своему усмотрению, прежде чем применять эту утилиту.

Нажмите Кутулс > Раскрывающийся список > стрелка рядом Раскрывающийся список с множественным выбором > Настройки.
doc kutools выпадающий список с множественным выбором 2

Затем в Настройки раскрывающегося списка с множественным выбором диалог, вы можете

1) Укажите необходимую вам область применения;

2) Укажите направление размещения предметов;

3) Укажите разделитель между элементами;

4) Укажите, не следует ли добавлять дубликаты и удалять повторяющиеся элементы.

Нажмите Ok и нажмите Кутулс > Раскрывающийся список > Раскрывающийся список с множественным выбором чтобы подействовать.

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

Легко создавать динамический двухуровневый или многоуровневый зависимый раскрывающийся список в Excel

В Excel создать двухуровневый или многоуровневый раскрывающийся список сложно. Здесь Динамический раскрывающийся список полезности Kutools for Excel могу сделать вам одолжение. Все, что вам нужно сделать, это упорядочить данные, как показано в примере, затем выбрать диапазон данных и диапазон вывода, а затем оставить это утилите.  Нажмите для 30 дней бесплатного пробного периода!
doc расширенные строки комбинирования
 
Kutools for Excel: с более чем удобными надстройками Excel 300, которые можно попробовать бесплатно без ограничений в 30 дней.

Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

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

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (26)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
После добавления данные из выпадающего списка удалить не получается.
Этот комментарий был сведен к минимуму модератором на сайте
Я нашел ту же проблему. Я думаю, что нашел способ преодолеть это. В нижней части кода вы увидите код «xStrNew = xStrOld». Вместо этого скажите xStrNew = " "

Меня устраивает.
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли шанс, что у вас все еще есть этот код? Я пытаюсь сделать то, что вы сказали, но текст все еще дублируется.
Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Мне жаль, но я не знаю. Однако я только что посмотрел на приведенный выше код, и оказалось, что автор отредактировал код с моим предложением.

опубликуйте свой вопрос в основной ветке этой статьи.
Этот комментарий был сведен к минимуму модератором на сайте
в первом коде добавьте следующую строку между строками 6 и 7 (10-11 во втором коде): Если Target.Value = "", то выйдите из подпрограммы
Этот комментарий был сведен к минимуму модератором на сайте
Я использовал это «Выберите несколько элементов из раскрывающегося списка в ячейку без повторения»
это то, что случилось
1. Множественный выбор происходит без проблем.
2. Проблема в том, что я пытаюсь отредактировать и удалить параметр. У меня нет возможности удалить опцию. он продолжает размножаться.
Этот комментарий был сведен к минимуму модератором на сайте
Как бы вы применили эту функциональность, но сделали бы это так, чтобы не было избыточных значений? Любая помощь будет оценена по достоинству!
Этот комментарий был сведен к минимуму модератором на сайте
Если я создаю лист с выпадающим списком, используя флажки, есть ли способ поделиться этой книгой с этой функцией флажков?
Этот комментарий был сведен к минимуму модератором на сайте
Я также обнаружил, что после выбора нескольких элементов с использованием обновленного кода VBA я все еще не могу очистить ячейку, она просто продолжает умножаться.
У кого-нибудь есть решение для этого?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Расти, я обновил код, чтобы сделать его более стабильным. Но поскольку ячейка находится в процессе проверки данных, а пустое значение вне проверки данных, код не может решить эту проблему.
Этот комментарий был сведен к минимуму модератором на сайте
код работает, но переносится во все ячейки и умножается в ячейках и не позволяет удалить, можете ли вы помочь?
Этот комментарий был сведен к минимуму модератором на сайте
Quando quero deletar alguma opção ou todas dá erro. Комо поссо резольвер?
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Como puedo usar este codigo para todo un worksheet y no solo para una pestana?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Vero, Kutools for Excel Функция «Раскрывающийся список с множественным выбором» поддерживает выбор нескольких элементов из раскрывающегося списка на всем листе или в книге, просто укажите указанную область в диалоговом окне «Настройки раскрывающегося списка с множественным выбором».
Этот комментарий был сведен к минимуму модератором на сайте
Как я могу сделать это для приведенной вами формулы кулака :) Заранее спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
привет,
selon le premier instancee tout fonctionne très bien jusqu'à ce que je verrouille la feuille.
quand la feuille est verrouillée, je n'ai plus le choix Multiple !
комментарий faire?
Merci Par Avance
Этот комментарий был сведен к минимуму модератором на сайте
Привет, извини за это. Мы обновим нашу функцию в следующей версии, чтобы избежать этой проблемы. Спасибо за ваш отзыв.
Этот комментарий был сведен к минимуму модератором на сайте
Merci BCP
Mais à quand la nouvelle version?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, новая версия находится в разработке, так как следующая версия будет обновлять несколько функций, это может занять некоторое время.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, мы обновили эту версию для вас, но это бета-версия, загрузите ее отсюда: https://download.extendoffice.com/downloads/Kutools-for-Excel/beta/26.10/KutoolsforExcelSetup.Inno.exe
Если есть какие-либо проблемы, добро пожаловать на ваш отзыв.
Этот комментарий был сведен к минимуму модератором на сайте
спасибо,
Je vais la télécharger и др. эссе.
Bonne journée
Этот комментарий был сведен к минимуму модератором на сайте
код работает, но не позволяет мне удалить, может кто-нибудь опубликовать новый код.
Этот комментарий был сведен к минимуму модератором на сайте
¿Cómo puedo hacer para que el orden en que se coloque el texto, sea tan cuál como yo quiera?

пример:
Мой текст для списка:
ТРАМИТАР ЭСТ АСУНТО
КООРДИНАТОР
АНАЛИЗ И РЕКОМЕНДАЦИИ

это выбрано:
ТРАМИТАР ЭСТ АСУНТО
АНАЛИЗ И РЕКОМЕНДАЦИИ

Мне кажется
АНАЛИЗ И РЕКОМЕНДАЦИИ, TRAMITAR ESTE ASUNTO

о море, Лос-де-Абахо мне aparecen primero, pero quiero que sea en el orden en que voy seleccionando...
TRAMITAR ESTE ASUNTO, АНАЛИЗ И РЕКОМЕНДАЦИИ.....
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Gorgelys, вам может помочь раскрывающийся список Kutools с несколькими вариантами выбора. Выбранные вами элементы будут располагаться в нужном вам порядке.
Этот комментарий был сведен к минимуму модератором на сайте
Como posso utilizar função com planilha bloqueada?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, макросы, попробуйте код ниже, он поддерживает выбор нескольких элементов в раскрывающемся списке на защищенном листе.
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next  
    xType = 0
    xType = Target.Validation.Type
    If xType <> 3 Then Exit Sub
    If (Target.Count > 1) Then Exit Sub

    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    If xStrNew = Target.Value Then
    Else
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    End If
    Application.EnableEvents = True
End Sub

А также Kutools for Excel 26.1 и более поздние версии поддерживают эту работу в защищенном листе.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL