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

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

- Нажмите «Разработчик» → «Вставить» → «Поле со списком (элемент управления ActiveX)».

- Добавьте поле со списком на текущий лист. Щёлкните его правой кнопкой мыши и выберите в контекстном меню пункт «Свойства».

- В диалоговом окне «Свойства» замените значение в поле «(Имя)» на «TempCombo».

- Отключите «Режим конструктора», выбрав вкладку «Разработчик» и нажав «Режим конструктора».
Затем примените приведенный ниже код VBA
- Щелкните правой кнопкой мыши по вкладке текущего листа и выберите в контекстном меню пункт «Просмотреть код». См. снимок экрана:

- В открывшемся окне «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
- Нажмите одновременно клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic для приложений.
Теперь при щелчке по ячейке с раскрывающимся списком он будет автоматически появляться. Вы можете начать вводить букву — и нужный элемент сразу подставится в выбранную ячейку. См. снимок экрана:

Легко включите автозавершение для Раскрывающийся список всего за 2 секунды
Для большинства пользователей Excel описанный выше метод VBA может показаться сложным. Однако с помощью функции «Сделать выпадающий список доступным для поиска» из Kutools для Excel вы можете легко включить автозавершение для раскрывающихся списков проверки данных — всего за 2 секунды и в любом ограниченном диапазоне. Более того, эта функция поддерживается во всех версиях Excel.
- Чтобы включить автозавершение в раскрывающихся списках, сначала выделите диапазон, содержащий эти списки. Затем перейдите на вкладку «Kutools», выберите «Раскрывающийся список» → «Сделать раскрывающийся список доступным для поиска и включить автозавершение».
- В диалоговом окне «Сделать раскрывающийся список доступным для поиска» нажмите «ОК», чтобы сохранить настройки.

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

См. также:
Как создать раскрывающийся список с несколькими флажками в Excel?
Многие пользователи Excel хотят создать раскрывающийся список с несколькими флажками, чтобы выбирать сразу несколько значений. Однако стандартными средствами проверки данных это сделать невозможно. В этом руководстве мы покажем два эффективных способа создания такого списка — и решим эту задачу раз и навсегда!
Создание раскрывающегося списка из другой книги в Excel
Создать раскрывающийся список проверки данных между листами одной книги довольно просто. Но что делать, если данные для списка находятся в другой книге? В этом руководстве подробно объясняется, как создать раскрывающийся список из другой книги в Excel.
Создание раскрывающегося списка с возможностью поиска в Excel
Когда в раскрывающемся списке много значений, найти нужный элемент бывает непросто. Ранее мы уже рассказывали, как настроить автозавершение — достаточно ввести первую букву, и Excel предложит подходящие варианты. Но помимо автозавершения вы можете сделать раскрывающийся список полностью доступным для поиска, чтобы ещё больше ускорить работу и легко находить нужные значения. В этом руководстве мы покажем, как реализовать такую функцию.
Автоматическое заполнение других ячеек при выборе значения в раскрывающемся списке Excel
Допустим, вы создали раскрывающийся список на основе значений из диапазона ячеек B8:B14. Как только вы выбираете в нём элемент, соответствующее значение из диапазона C8:C14 автоматически подставляется в нужную ячейку. Методы, описанные в этом руководстве, помогут вам легко реализовать такую функциональность.
Лучшие инструменты повышения продуктивности в 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек





