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

Как выполнить автозаполнение при вводе в раскрывающемся списке Excel?

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

Автозаполнение при вводе раскрывающегося списка с кодом VBA
Автозаполнение при вводе раскрывающегося списка с помощью замечательного инструмента

Дополнительные руководства для раскрывающегося списка ...


Автозаполнение при вводе раскрывающегося списка с кодом VBA

Чтобы раскрывающийся список автоматически заполнялся после ввода соответствующих букв в ячейке, сделайте следующее.

Во-первых, вам нужно вставить поле со списком в рабочий лист и изменить его свойства.

1. Откройте рабочий лист, содержащий ячейку раскрывающегося списка, для которой требуется выполнить автозаполнение.

2. Перед вставкой поля со списком вам необходимо добавить вкладку «Разработчик» на ленту Excel. Если на ленте отображается вкладка Разработчик, перейти к шагу 3. В противном случае сделайте следующее: Нажмите Файл > Опции для открытия Опции окно. В этом Параметры Excel окна, нажмите Настроить ленту на левой панели проверьте Застройщик поле, а затем щелкните OK кнопка. Смотрите скриншот:

3. Нажмите Застройщик > Вставить > Поле со списком (элемент управления ActiveX).

4. Нарисуйте поле со списком на текущем листе. Щелкните его правой кнопкой мыши и выберите Предложения из контекстного меню.

5. в Предложения диалоговое окно, замените исходный текст в (Имя) поле с ТемпКомбо.

6. Выключите Режим проектирования кликнув Застройщик > Режим дизайна.

Затем примените приведенный ниже код VBA

7. Щелкните правой кнопкой мыши вкладку текущего листа и выберите Просмотреть код из контекстного меню. Смотрите скриншот:

8. В дебюте Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в окно кода рабочего листа.

Код VBA: автозаполнение при вводе в раскрывающемся списке

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Update by Extendoffice: 2020/01/16
    Dim xCombox As OLEObject
    Dim xStr As String
    Dim xWs As Worksheet
    Dim xArr
    
    Set xWs = Application.ActiveSheet
    On Error Resume Next
    Set xCombox = xWs.OLEObjects("TempCombo")
    With xCombox
        .ListFillRange = ""
        .LinkedCell = ""
        .Visible = False
    End With
    If Target.Validation.Type = 3 Then
        Target.Validation.InCellDropdown = False
        Cancel = True
        xStr = Target.Validation.Formula1
        xStr = Right(xStr, Len(xStr) - 1)
        If xStr = "" Then Exit Sub
        With xCombox
            .Visible = True
            .Left = Target.Left
            .Top = Target.Top
            .Width = Target.Width + 5
            .Height = Target.Height + 5
            .ListFillRange = xStr
            If .ListFillRange = "" Then
                xArr = Split(xStr, ",")
                Me.TempCombo.List = xArr
            End If
            .LinkedCell = Target.Address
        End With
        xCombox.Activate
        Me.TempCombo.DropDown
    End If
End Sub
Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Select Case KeyCode
        Case 9
            Application.ActiveCell.Offset(0, 1).Activate
        Case 13
            Application.ActiveCell.Offset(1, 0).Activate
    End Select
End Sub

9. Нажмите другой + Q клавиши одновременно, чтобы закрыть Приложения Microsoft Visual Basic окно.

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

Примечание: Этот код не работает для объединенных ячеек.


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

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

Внимание: Перед применением функции убедитесь, что вы создали раскрывающиеся списки на листе. В этом случае выпадающие списки помещаются в D3: D9.

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

2. Во всплывающем Раскрывающийся список с возможностью поиска В диалоговом окне необходимо выполнить следующие настройки.

2.1). Обращаться к раздел, укажите диапазон или рабочий лист, где вы хотите применить функцию раскрывающегося списка с возможностью поиска;
Tips: После выбора Указанный объем переключатель, вы можете выбрать Текущий рабочий лист, Текущая рабочая тетрадь or Все книги из раскрывающегося списка в соответствии с вашими потребностями.
2.2). Опции раздел, выберите Соответствует только началу слова или Деликатный случай вариант или оба;
Соответствует только началу слова: Отметьте эту опцию, будут отображаться только те элементы, которые начинаются с введенного символа, а первый совпавший элемент будет автоматически добавлен в поле списка. Снимите этот флажок, чтобы отображать элементы, содержащие введенный символ.
Деликатный случай: Установите этот флажок, чтобы выполнять сопоставление вводимых символов с учетом регистра.
2.3) Нажмите OK.

3. После завершения настроек вам необходимо включить функцию, нажав Кутулс > Раскрывающийся список > Раскрывающийся список с возможностью поиска > Включить раскрывающийся список с возможностью поиска.

Теперь, когда вы щелкаете ячейку раскрывающегося списка, отображается список со всеми элементами. Вам нужно только ввести символ в текстовое поле, чтобы отобразить все соответствующие элементы, и использовать Up or вниз стрелку, чтобы выбрать нужный элемент, или просто позвольте первому совпадающему элементу автоматически заполнить поле списка, а затем нажмите Enter Клавиша для автозаполнения ячейки раскрывающегося списка соответствующим элементом. См. Демонстрацию ниже.

Нажмите, чтобы узнать больше об этой функции.

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


Статьи по теме:

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

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

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

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

Дополнительные руководства для раскрывающегося списка ...


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

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

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (325)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Я попробовал, и он работал всего 2 дня в свойствах, при вводе TempCombo мне выдается сообщение об ошибке, что это неоднозначное имя. Пожалуйста помоги
Этот комментарий был сведен к минимуму модератором на сайте
Отличное решение, спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте... После добавления этого поля со списком я не могу копировать и вставлять другие элементы на лист. Это позволяет мне копировать вставкой, выделено серым цветом. Кроме того, есть ли способ заставить поле со списком работать в объединенных ячейках? Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Та же проблема, что и у другого пользователя - после добавления этого поля со списком я не могу копировать и вставлять из одной ячейки в другую. Функция копирования вроде бы работает, а вставка, специальная вставка и CTRL+V — нет. Спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Томас... ты когда-нибудь нашел решение этой проблемы? Мне еще предстоит найти его.
Этот комментарий был сведен к минимуму модератором на сайте
Нет реального ответа - я просто возвращаюсь в РАЗРАБОТЧИК и отменяю выбор РЕЖИМ ДИЗАЙНА, когда мне нужно скопировать и вставить - не забудьте снова нажать РЕЖИМ ДИЗАЙНА, когда закончите; в противном случае поле со списком не будет работать должным образом при двойном щелчке по ячейке.
Этот комментарий был сведен к минимуму модератором на сайте
Я защищаю лист, чтобы формулы нельзя было изменить, и когда я защищаю лист, функция автозаполнения больше не работает. У вас есть решение для этого?
Этот комментарий был сведен к минимуму модератором на сайте
вы нашли решение для этого?
Этот комментарий был сведен к минимуму модератором на сайте
Как я могу заблокировать ячейки?
Этот комментарий был сведен к минимуму модератором на сайте
Работает хорошо.. Спасибо.. Сэкономил много времени.. Еще одно измерение. С этим кодом он хорошо работает в одном столбце. Какие изменения мы должны внести в код vba, чтобы этот код работал в другом столбце также на том же листе, но с другим источником проверки данных
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за огромную помощь. Много моего времени будет сэкономлено. Этот код работает только для одной проверки данных в столбце на листе. Какие изменения мы должны внести в код, чтобы работать с двумя проверками данных в двух отдельных столбцах с отдельным источником данных.
Этот комментарий был сведен к минимуму модератором на сайте
Должен ли мой набор данных/именованный диапазон, используемый для моего раскрывающегося списка, находиться на одном листе, чтобы это работало? У меня активируется поле со списком, когда я дважды щелкаю раскрывающийся список, но когда я начинаю печатать, ничего не появляется? Любая идея, что проблема может быть здесь? Я выполнил все шаги выше. Большое спасибо, Джаред
Этот комментарий был сведен к минимуму модератором на сайте
Мне удалось заставить код работать, но у меня возникли проблемы с сохранением файла, я получаю разные сообщения об ошибках. как только я его сохранил и снова открыл, функция автозаполнения не работает. Я использую Excel 2007. Может ли кто-нибудь помочь мне сохранить файл? много помощи в Интернете, но я не понимаю все команды. Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Нигде не сказано, как добавлять элементы в раскрывающийся список.
Этот комментарий был сведен к минимуму модератором на сайте
Джонатан, ты узнал, как это сделать?
Этот комментарий был сведен к минимуму модератором на сайте
Меня это тоже сначала смутило. Я понял, что этот код должен быть связан с любой ячейкой проверки данных на листе. Итак, сначала настройте проверку данных, включая то, откуда он извлекает информацию, а затем код будет извлекать информацию списка из проверки данных и накладывать ComboBox на ячейку с проверкой данных. Надеюсь, это поможет.
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за полезное решение :-)
Этот комментарий был сведен к минимуму модератором на сайте
Я завершил раскрывающийся список автозаполнения, однако я не знаю, как отобразить значения после ввода текста в раскрывающемся списке. Например, в моем БАЗОВОМ ЛИСТЕ ДАННЫХ столбец 1 состоит из предметов, а столбцы 2 и 3 — стоимости предмета. Введя элемент в моем раскрывающемся списке НА ГЛАВНОМ ЛИСТЕ в столбце 1, стоимость предметов появится в столбцах 2 и 3. Возможно ли, что это можно сделать? Помоги мне, пожалуйста
Этот комментарий был сведен к минимуму модератором на сайте
где диапазон исходного списка для проверки?
Этот комментарий был сведен к минимуму модератором на сайте
Не забудьте добавить диапазон элементов для раскрывающегося списка в свойстве ComboBox «ListFillRange».
Этот комментарий был сведен к минимуму модератором на сайте
Очень хорошо работает для выпадающих списков, использующих ='диапазон', но функциональность прерывается, как только диапазон является результатом формулы, например, =ЕСЛИ(А1>0,'диапазон','альтернатива'). Возможность ввода незаполненного TempCombo
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Это замечательно. Но как мне связать свой выпадающий список с полем со списком??? Пожалуйста, помогите.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, у меня проблема с этим, я не вижу никаких значений в раскрывающемся списке. Может ли кто-нибудь сказать мне, как я могу связать свой диапазон данных с раскрывающимся списком? показать предложения. если вы можете отправить мне заполненную электронную таблицу, я был бы очень признателен. (Мой адрес электронной почты: deshandsouza@gmail.com)
Этот комментарий был сведен к минимуму модератором на сайте
У меня есть решение для вышеуказанного! Просто пропустил созданный раскрывающийся список проверки данных. теперь он работает нормально.
Этот комментарий был сведен к минимуму модератором на сайте
Ууууу! Выполнил шаги в автозаполнении при вводе раскрывающегося списка с кодом VBA, и я получил именно то, что хотел! Благодарю вас! Благодарю вас!
Этот комментарий был сведен к минимуму модератором на сайте
Ну... это сработало для одной ячейки, но когда я попытался заставить его работать для всего столбца, я не смог :( У меня есть столбец A = имя элемента, столбец B = дата создания, столбец C = я хочу ввести категорию, но есть выпадающий список для выбора У меня есть 723 «Элементы», поэтому 723 строки, где я хочу, чтобы раскрывающийся список появлялся при вводе значений. Есть предложения? Заранее спасибо
Этот комментарий был сведен к минимуму модератором на сайте
но как составить список для выпадающего списка из данных...
Здесь еще нет комментариев
Загрузить ещё

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

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