Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
14 / 14 / 7
Регистрация: 21.06.2013
Сообщений: 163
Записей в блоге: 1

Поиск по двум условиям

16.12.2013, 16:01. Показов 4715. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Сделал поиск по двум условиям. При вводе названия улицы в одно из условий ничего не происходит. При вводе части названия работает!
Помогите найти ошибку пожалуйста.
Вот процедура:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub SuperFiltr()
Dim i, lt1, lt2 As Long, s, txt1, txt2 As String
 
txt1 = TextBox1.Text: lt1 = Len(txt1)
txt2 = TextBox2.Text: lt2 = Len(txt2)
 
If (lt1 + lt2) = 0 Then
    Me.ListBox1.Clear
Else
 
For i = 1 To UBound(x, 1) ' Поиск по любому вхождению символа
    If InStr(x(i, 1), txt1) And InStr(x(i, 1), txt2) Then s = s & "~" & x(i, 1)
Next i
 
Me.ListBox1.List = Split(Mid(s, 2), "~")
End If
 
End Sub
Файл примера прилагаю.
Заранее спасибо.
Вложения
Тип файла: zip MyFind.zip (20.9 Кб, 30 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2013, 16:01
Ответы с готовыми решениями:

Поиск данных по двум условиям (по горизонтали и вертикали)
Здравствуйте, помоги, пожалуйста, необходимо из одной таблица перенести данные, соответствующие условиям по вертикале и горизонтале....

Выборка из таблицы по двум условиям
Уважаемые эксперты! Прошу помощи с небольшой задачей в Excel: Имеется 2 выпадающих меню с условиями: Сектор предприятия (нефть...

Заполнение ячеек по двум условиям
Добрый вечер, как по двум условиям (оплачено и дата) из одного листа (журнал )перенести данные(фио и к выдаче) на второй лист(май) в два...

9
3947 / 2340 / 790
Регистрация: 02.11.2012
Сообщений: 6,220
17.12.2013, 11:09
Цитата Сообщение от GreyW Посмотреть сообщение
При вводе названия улицы в одно из условий ничего не происходит.
если вводить числа то происходит.
по моему с этой строкой "If InStr(x(i, 1), txt1) And InStr(x(i, 1), txt2)" что то не так. с VBA на ВЫ. сомнения на счет And (И) т.е. у вас должно выполняться два условия для ИСтины.
1
14 / 14 / 7
Регистрация: 21.06.2013
Сообщений: 163
Записей в блоге: 1
17.12.2013, 15:16  [ТС]
Цитата Сообщение от Vlad999 Посмотреть сообщение
если вводить числа то происходит.
по моему с этой строкой "If InStr(x(i, 1), txt1) And InStr(x(i, 1), txt2)" что то не так. с VBA на ВЫ. сомнения на счет And (И) т.е. у вас должно выполняться два условия для ИСтины.
Если использую только одно условие и ввожу ломоносова то ничего не находит (хотя должно), если ввожу омоносова находит все, если ввожу моносова опять ничего, если оносова опять находит все, и т.д.
Условие And (И) должно быть, иначе по Ломоносова будут все дома даже если введу номер дома например 3.
0
6027 / 3221 / 719
Регистрация: 23.11.2010
Сообщений: 10,760
17.12.2013, 15:40
У Вас почему-то находит только если гласную букву вводить
1
 Аватар для kalbasiatka
416 / 263 / 83
Регистрация: 27.10.2012
Сообщений: 861
18.12.2013, 00:05
Code
1
If InStr(x(i, 1), txt1) > 0 And InStr(x(i, 1), txt2) > 0 Then
Это как бы =НАЙТИ()
1
14 / 14 / 7
Регистрация: 21.06.2013
Сообщений: 163
Записей в блоге: 1
18.12.2013, 09:48  [ТС]
Цитата Сообщение от GreyW Посмотреть сообщение
Visual Basic
1
InStr(x(i, 1), txt1) And InStr(x(i, 1), txt2) Then
Цитата Сообщение от kalbasiatka Посмотреть сообщение
Code
1
If InStr(x(i, 1), txt1) > 0 And InStr(x(i, 1), txt2) > 0 Then
Всё гениальное просто! Большое спасибо!

Вот только не понятно почему, если здесь использовать только одно условие
Visual Basic
1
InStr(x(i, 1), txt1) Then
то работает без > 0?
0
14 / 14 / 7
Регистрация: 21.06.2013
Сообщений: 163
Записей в блоге: 1
18.12.2013, 10:50  [ТС]
Уважаемые форумчане!
Возник ещё один вопрос по данному примеру:

Если ввести первое условие ломоносова, а второе 27, то найдутся два адреса ул.Ломоносова,д.27. Это допустимая ситуация не смотря на повторение.
Но если на форме кликнуть по второму варианту то в таблице всё-равно выделяется первый.
Подскажите пожалуйста как сделать что бы выделялся тот - который прописался в форму при поиске?
Так как в реальной таблице несколько десятков тысяч строк и элементы могут быть разнесены далеко друг от друга, а найти надо.
Заранее спасибо!
Миниатюры
Поиск по двум условиям  
0
 Аватар для kalbasiatka
416 / 263 / 83
Регистрация: 27.10.2012
Сообщений: 861
18.12.2013, 21:07
В листбоксе сделать второй столбец (невидимый) и заносить в него номер строки и обращаться к ячейкам с помощью его.
1
14 / 14 / 7
Регистрация: 21.06.2013
Сообщений: 163
Записей в блоге: 1
19.12.2013, 11:40  [ТС]
Цитата Сообщение от kalbasiatka Посмотреть сообщение
В листбоксе сделать второй столбец (невидимый) и заносить в него номер строки и обращаться к ячейкам с помощью его.
Второй столбец получилось сделать, а вот как его скрыть и всё остальное не получается.
0
14 / 14 / 7
Регистрация: 21.06.2013
Сообщений: 163
Записей в блоге: 1
23.12.2013, 15:48  [ТС]
Массив значений диапазона получаем так:
Visual Basic
1
x = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value
, а как получить массив номеров соответствующих строк?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2013, 15:48
Помогаю со студенческими работами здесь

Подсчет значений по двум условиям
Здравствуйте. Помогите пожалуйста с формулой. Вот условие: есть данные где напротив определенного товара поставлено значение по дням, были...

Выборка значения из массива по двум условиям
Доброго дня, уважаемый программисты. Ломаю голову над задачей, но опыта и знаний мало. Есть форма, в первом листе набираются и...

Сумма значений по двум условиям из таблицы
Господа, прошу помощи! Есть сводная таблица партнеров и планами проектов на будущее необходимо получить сумму для каждого партнера по...

Выбор значения из таблицы по двум условиям
Здравствуйте Уважаемые! Необходимо сделать выборку из таблицы. Условия такие: 2 Столбца, В первом значения повторяются несколько раз,...

Вернуть значения в ячейку по двум условиям
Добрый день! Мозг плавится! Помогите, пжт! Необходимо прописать формулу для возврата значения доли распределения (данные с таблицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru