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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 22:08   #1
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию Поиск в ЛистБоксе

Здравствуйте ВСЕМ!
Ниже файл!
вобщем там столбец, где имеются циферки и кнопка, которая вызывает форму, а на форме текстбокс и листбокс. в Листбокс выгружаются значения из того самого столбца!
вопрос такой: КАК организовать поиск листбокса(!)???
то есть в текстбокс вводим значение которого нужно найти в листбоксе, нужно как-то организовать через Find, в итоге после ввода в текстбокс в листбоксе остаются только те записи, которые частично или полностью совпадают с содержимым в тексбоксе, который мы ввели...
либо же при поиске он выделял в листбоксе значение, которое мы ищем, причём в этом случае нужно будет организовать ListBox1.MultiSelect = fmMultiSelectMulti, так как значений может быть более двух!
Вобщем либо так либо так - что легче? и что реализуемо?
Заранее спасибо!
Вложения
Тип файла: rar поиск в лисбоксе.rar (8.2 Кб, 29 просмотров)
Артур Иваныч вне форума Ответить с цитированием
Старый 12.12.2009, 19:06   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Артур Иваныч.
С Вашей задачей может справиться подобный код:
Код:
Sub TextBox1_Change()
Dim i%
With ListBox1
    For i = 0 To .ListCount - 1
        .Selected(i) = False
    Next
    If Len(TextBox1.Text) > 0 Then
        For i = 0 To .ListCount - 1
            If .List(i, 0) = TextBox1.Text Then
                .Selected(i) = True
                If .MultiSelect = 0 Then Exit For
            End If
        Next
    End If
End With
End Sub
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 12.12.2009, 19:54   #3
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию

Спасибо Евгений:-)
НО .List(i, 0) = TextBox1.Text - это просто сравнивание
хорошо бы Find
Артур Иваныч вне форума Ответить с цитированием
Старый 12.12.2009, 20:13   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Артур Иваныч Посмотреть сообщение
.List(i, 0) = TextBox1.Text - это просто сравнивание
хорошо бы Find
Хорошо бы. Сделайте .Find и покажите нам.
Думаете, если бы можно было искать при помощи .Find все извращались бы переборами?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.12.2009, 20:52   #5
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию

The_Prist
я просто думал что сделать такое реально
у меня лично не получается
вроде бы даже на бумажке алгоритм правильный, но...
я вообще новичок в вба
вот и прошу на этом форуме у знающих, мне помогают и я сам на этом обучаюсь и познаю
Артур Иваныч вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование данных в ЛистБоксе Артур Иваныч Microsoft Office Excel 14 20.11.2009 01:12
Папки в листбоксе beemoto Общие вопросы Delphi 9 20.05.2009 19:04
Файлы в листбоксе blackstersl Общие вопросы Delphi 12 01.10.2008 10:47
номер элемента в листбоксе RoadTrain Общие вопросы Delphi 2 20.11.2007 15:54
Цветные строки в листбоксе, нестандарт PCSpeaker Компоненты Delphi 9 11.02.2007 19:19