Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2014, 18:29   #1
Настя Белова
Пользователь
 
Регистрация: 28.03.2014
Сообщений: 29
По умолчанию Автоматический выбор из списка значений combobox при ручном вводе с клавиатуры

Есть такой вопрос. У меня есть заполненный множеством значений combobox. Я хочу чтобы при вводе в ручную с клавиатуры каких-то символов, букв и т.д. содержимое combobox автоматически фильтровалось, и при вводе каждой последующей буквы кол-во вариантов сокращалось, и в конце концов останется один вариант; или если я задам слово, не имеющееся в списке комбобокса то допустимых значений для выбора совсем предложено не будет.
Например, в комбобоксе след. слова:

стол
полет
стрела
лето
кофе

Я ввожу с клавиатуры в текстовом поле комбобокса букву "о". Список значений автоматически сократится до тех слов, в которых есть буква "о", т.е. останутся:

стол
полет
лето
кофе

потом дописываю, например, буквы "л", получаем "ол" и в списке остается только

стол

Но если я стираю символ, например "о", то у меня возвращаются в комбобокс слова содержащие "л", т.е чтобы операция происходила в "обе стороны".
Настя Белова вне форума Ответить с цитированием
Старый 10.05.2014, 20:23   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Можете попробовать готовое решение:
http://excelvba.ru/code/DropDownList
EducatedFool вне форума Ответить с цитированием
Старый 13.05.2014, 16:02   #3
Настя Белова
Пользователь
 
Регистрация: 28.03.2014
Сообщений: 29
По умолчанию

не могу понять что за ошибка
Код:
Dim iSource As Variant


Private Sub UserForm_Initialize()
    
    iArrSource = Application.Range("Наименование!B1:B480").Value
    
    ComboBox1.RowSource = "" 'изменить значения этих двух свойств можно вручную
    ComboBox1.MatchEntry = fmMatchEntryNone 'причём один раз в дизайнере
    ComboBox1.List = iArrSource
   
End Sub

Private Sub ComboBox1_Change()
    Dim iFindText As Variant

    With ComboBox1
         iFindText = .Value: .Clear
         If iFindText <> "" Then
            For Each iSource In iArrSource
                If InStr(1, iSource, iFindText, _
                vbTextCompare) Then .AddItem iSource
            Next
         End If
    End With
End Sub
Настя Белова вне форума Ответить с цитированием
Старый 14.05.2014, 17:35   #4
Настя Белова
Пользователь
 
Регистрация: 28.03.2014
Сообщений: 29
По умолчанию

Код:

Private iArrSource As Variant


Private Sub UserForm_Initialize()
    'iArrSource = Array("стол", "полет", "стрела", "лето", "кофе")
    iArrSource = Application.Range("Наименование!B1:B480").Value
    
    ComboBox1.RowSource = "" 'изменить значения этих двух свойств можно вручную
    ComboBox1.MatchEntry = fmMatchEntryNone 'причём один раз в дизайнере
    ComboBox1.List = iArrSource
End Sub

Private Sub ComboBox1_Change()
    Dim iSource As Variant, iFindText As Variant

    With ComboBox1
         iFindText = .Value: .Clear
         If iFindText <> "" Then
            For Each iSource In iArrSource
                If InStr(1, iSource, iFindText, _
                vbTextCompare) Then .AddItem iSource
            Next
         End If
    End With
End Sub
всё равно не то что хотелось бы
Настя Белова вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи. При вводе с клавиатуры не работает. Jane_Air Помощь студентам 2 05.11.2013 11:42
Автоматический выбор ItemIndex в ComboBox Kib Общие вопросы Delphi 8 01.06.2011 19:06
автоматический вывод данных при вводе одного параметра Akmal-Sharipov Microsoft Office Excel 9 16.12.2010 16:13
Убрать пробелы при вводе выражения с клавиатуры denisgl Помощь студентам 0 18.05.2010 19:50
Автоматический поиск в DBGrid при вводе символа в Edit Irina_87 БД в Delphi 12 12.12.2009 03:53