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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2014, 17:59   #1
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию Поиск

Делаю поиск и результат вводится в листбокс(lbAuto)
Это у меня получается.

Код:
Dim arr()
Dim k
Dim i As Long
For i = 1 To 2600
If InStr(1, Split(Cells(i, 2), " ")(1), TextBox3) > 0 Then
k = k + 1
ReDim Preserve arr(1 To 110, 2 To k)
arr(1, k) = Cells(i, 1)
arr(2, k) = Cells(i, 2)
arr(3, k) = Cells(i, 3)
arr(4, k) = Cells(i, 4)
arr(5, k) = Cells(i, 5)
arr(117, k) = i
End If
Next i
lbAuto.List = Application.Transpose(arr)
Но, надо еще 1 условия добавить: если 1-й столбец в листбоксе пусто, эти записи не должны видно в листбоксе. Вот это у меня не получается. Помогите пожалуйста, как можно добавить эта условия?
Aqil_f вне форума Ответить с цитированием
Старый 12.03.2014, 09:21   #2
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

Помогите пожалуйста.
Aqil_f вне форума Ответить с цитированием
Старый 12.03.2014, 10:39   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Файл лениво делать.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.03.2014, 12:04   #4
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

Прикрипляю файл (k3.rar)
1. Если делать поиск по FIO (допустим Xx) в листбоксе видно 3 записи, а должен быт 1 (Zzzzz Xxerxx Cccccc, где есть TNR). При поиска по ФИО должен быт видно, те записи где TNR не пусто.

2. Если нажимать на CheckBox2 должен итди фильтрация (TNR равно пусто)
и должен вводится на листбокс
Вложения
Тип файла: rar k3.rar (52.5 Кб, 13 просмотров)

Последний раз редактировалось Aqil_f; 12.03.2014 в 12:21.
Aqil_f вне форума Ответить с цитированием
Старый 12.03.2014, 17:56   #5
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

Наверно я очень непонятно обяснила свою задачу, поэтому никакие ответы нету.
Aqil_f вне форума Ответить с цитированием
Старый 12.03.2014, 18:12   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Не отчаивайтесь!
Я файл только сейчас открыл.

По пустой строке (или нужно было что-то другое? непонял из описания) - а как иначе, если Вы её молча берёте в массив:

Код:
    arr = Range("A2:CW" & il)
    lbAuto.List = arr
Тогда нужно фильтровать-перекладывать.

Аа, увидел - там нужно отбирать в другой массив строки по первому столбцу... Тогда при клике в листбоксе нельзя будет выделять строку по индексу без доработки. Или искать по TNR на листе, или когда заносите в массив, сделать поле с номером строки, заносить его тоже в листбокс (вне видимости), затем при клике выделять строку по этому номеру.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 12.03.2014 в 18:18.
Hugo121 вне форума Ответить с цитированием
Старый 12.03.2014, 18:23   #7
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

Я хочу после фильтрации (CheckBox2) в листбоксе видно было только фильтрованные записи. Вот это у меня не получается.

Еще, если делать поиск по FIO (допустим Xx) в листбоксе сейчас видно 3 записи, а должен быт 1 (Zzzzz Xxerxx Cccccc, где TNR не пусто). При поиска по ФИО должен быт видно, те записи где TNR не пусто. Вот это тоже не получается.

Последний раз редактировалось Aqil_f; 12.03.2014 в 19:01.
Aqil_f вне форума Ответить с цитированием
Старый 12.03.2014, 20:51   #8
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

1-ю задачу я решила сделав такую изменение в IF:
If InStr(1, Split(Cells(i, 2), " ")(1), TextBox3) > 0 And Cells(i, 1) <> "" Then

Но, не понимаю как из фильтрованные записи массив создавать. Помогите пожалуйста.

Последний раз редактировалось Aqil_f; 12.03.2014 в 21:14.
Aqil_f вне форума Ответить с цитированием
Старый 13.03.2014, 15:03   #9
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

Помогите пожалуйста. Не знаю как из фильтрованные записи массив создавать и отображать эти данные в листбоксе.
Aqil_f вне форума Ответить с цитированием
Старый 13.03.2014, 16:54   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не обязательно массив создавать можно по одному добавлять в листбокс необходимые записи.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в БД Neon_ Помощь студентам 5 13.11.2011 23:22
Поиск в БД Karinka БД в Delphi 9 07.12.2008 16:25
Поиск в бд KAKTYC SQL, базы данных 3 25.07.2008 13:21
поиск Азамат Microsoft Office Excel 7 18.06.2008 13:44
ПОИСК FIIR БД в Delphi 3 16.06.2008 16:06