Уважаемые знатоки и все кто разбирается в ЭКСЕЛЬ лучше чем я Нужна помощь с осуществление такой задачи . Если кто знает как сделать поиск по первым буквам в выпадающем списке Сombobox в userform буду признателен ?
Уважаемые знатоки и все кто разбирается в ЭКСЕЛЬ лучше чем я Нужна помощь с осуществление такой задачи . Если кто знает как сделать поиск по первым буквам в выпадающем списке Сombobox в userform буду признателен ?RomanCompass
Спасибо за подсказку ! В принципе можно и так работать ,но хотелось бы чтобы поиск работал не только по первой букве но и по совпадению 2-3 символов независимости от их положения .Например Skoda Fabia ITY 7916 ,при наборе 79 чтобы выделялась из списка . как то так
Спасибо за подсказку ! В принципе можно и так работать ,но хотелось бы чтобы поиск работал не только по первой букве но и по совпадению 2-3 символов независимости от их положения .Например Skoda Fabia ITY 7916 ,при наборе 79 чтобы выделялась из списка . как то такRomanCompass
Это совершенно иное, тут надо по событию ввода символа перезапрашивать источник с фильтром, но при этом заполнять комбо списком каждый раз и это не ссылка на диапазон.
Это совершенно иное, тут надо по событию ввода символа перезапрашивать источник с фильтром, но при этом заполнять комбо списком каждый раз и это не ссылка на диапазон.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
боюсь что под этим подразумевается нужен готовый код, а он будет длинее 10 строк в которые я должен уложится, так как 11 и последующие писать лень.
Если серьезно, то отключить тот поиск который встроен и по событию ввода в комбобокс символа, осуществлять поиск и наполнение комбобокса элементами одним из способов. Это может быть просто перебор диапазон , массива со сравнением а есть ли то что написано там и если есть то добавляем в список, или ADO запрос к диапазону .
боюсь что под этим подразумевается нужен готовый код, а он будет длинее 10 строк в которые я должен уложится, так как 11 и последующие писать лень.
Если серьезно, то отключить тот поиск который встроен и по событию ввода в комбобокс символа, осуществлять поиск и наполнение комбобокса элементами одним из способов. Это может быть просто перебор диапазон , массива со сравнением а есть ли то что написано там и если есть то добавляем в список, или ADO запрос к диапазону .bmv98rus
Замечательный Временно просто медведь , процентов на 20.
bmv98rus, кроме того что это так просто и что вам лень писать дранный код не чего не понял . Как бы не на что не претендую . попытаюсь разобраться .
bmv98rus, кроме того что это так просто и что вам лень писать дранный код не чего не понял . Как бы не на что не претендую . попытаюсь разобраться .RomanCompass
просто нужно обрабатывать события Key..... например KeyUp только нужно помнить что ряд кнопок сисетмные например ESC и тут тоже надо обработать.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Private Sub ComboBox_coutry_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim x, s As String, s1 With ComboBox_coutry x = Лист2.ListObjects("Таблица1").DataBodyRange.Columns(2).Value For Each s1 In x If InStr(LCase(s1), LCase(.Text)) Then s = s & "~" & s1 'поиск по любому вхождению Next .List = Split(Mid(s, 2), "~") .DropDown End With End Sub
[/vba] да и ESC и прочее надо обрабатывать.
[vba]
Код
Private Sub ComboBox_coutry_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim x, s As String, s1 With ComboBox_coutry x = Лист2.ListObjects("Таблица1").DataBodyRange.Columns(2).Value For Each s1 In x If InStr(LCase(s1), LCase(.Text)) Then s = s & "~" & s1 'поиск по любому вхождению Next .List = Split(Mid(s, 2), "~") .DropDown End With End Sub
[/vba] да и ESC и прочее надо обрабатывать.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Воскресенье, 29.08.2021, 19:13
это не главное, а вот то что ESC отрабатывает не корректно, должен происходить сброс или... Прочие кнопочки тоже надо предусматривать типа TAB ....bmv98rus
Замечательный Временно просто медведь , процентов на 20.