Как заполнить поле со списком уникальными значениями в Excel?
При создании поля со списком на основе данных, содержащих некоторые Дублирующиеся значения, значения Дублирующиеся значения не будут автоматически исключены из этого поля. В таком случае как отобразить в поле со списком только уникальные элементы? Возможно, данный учебник окажет вам помощь.
Заполнение поля со списком значениями Уникальные значения с помощью кода VBA
Заполнение поля со списком значениями Уникальные значения с помощью кода VBA
Следующий код VBA поможет вам добавить уникальные значения при создании поля со списком. Выполните следующие действия:
1. Сначала вставьте поле со списком: щелкните Разработчик > Вставить > Поле со списком (элемент управления ActiveX), а затем перетащите указатель мыши, чтобы нарисовать поле со списком (см. снимок экрана):

2. Затем щелкните правой кнопкой мыши поле со списком и в контекстном меню выберите пункт Просмотреть код (см. снимок экрана):

3. Откроется окно Microsoft Visual Basic для приложений. Скопируйте и вставьте приведённый ниже код, заменив им исходный.
Код VBA: поле со списком с уникальными значениями:
Public Sub Populate_combobox_with_Unique_values()
'Updateby Extendoffice
Dim vStr, eStr
Dim dObj As Object
Dim xRg As Range
On Error Resume Next
Set dObj = CreateObject("Scripting.Dictionary")
Set xRg = Application.InputBox("Range select:", "Kutools for Excel", _
ActiveWindow.RangeSelection.AddressLocal, , , , , 8)
vStr = xRg.Value
Application.ScreenUpdating = False
With dObj
.comparemode = 1
For Each eStr In vStr
If Not .exists(eStr) And eStr <> "" Then .Add eStr, Nothing
Next
If .Count Then
ActiveSheet.ComboBox1.List = WorksheetFunction.Transpose(.keys)
End If
End With
Application.ScreenUpdating = True
End Sub
Примечание: В приведённом выше коде ComboBox1 — это имя созданного вами поля со списком; вы можете изменить его по своему усмотрению.
4. Затем нажмите клавишу F5, чтобы запустить код. В появившемся диалоговом окне укажите, пожалуйста, исходный диапазон, который необходимо добавить в поле со списком (см. снимок экрана):

5. После этого нажмите кнопку ОК, и в поле со списком отобразятся только уникальные значения (см. снимок экрана):

Совет: Если на ленте отсутствует вкладка Разработчик, статья Как отобразить вкладку «Разработчик» в Excel 2007/2010/2013 на ленте? поможет вам её отобразить.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек