powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ИДЕЯ!!! Поиск в ListBox. Как заменить "пробел" на "звездочку" для ускорения поиска....
5 сообщений из 5, страница 1 из 1
ИДЕЯ!!! Поиск в ListBox. Как заменить "пробел" на "звездочку" для ускорения поиска....
    #35642368
Фотография Dan-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВОПРОС №1:
При поиске в ListBox можно пользоваться выражением такого типа "*кров*5*55". При этом будет найдена строка "Саморез кровельный / 5 х 55."
Пример в прилагаемом файле.
Возникла идея вводить при поиске вместо "*" - "пробел", а уже в коде заменять пробел на звездочку.
Это существенно добавит удобства для оператора.
Кстати, не помешал бы "выключатель для замены на звездочки"-это только сейчас пришло в голову.

ВОПРОС №2
Как програмно запретить ввод в TextBox любых значений кроме целых положительных, принадлежащих диапазону от 1 до 124868, например...
Неудачный пример в файле
...
Рейтинг: 0 / 0
ИДЕЯ!!! Поиск в ListBox. Как заменить "пробел" на "звездочку" для ускорения поиска....
    #35644597
Neirfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как вариант приходит в голову поиск с циклом по instr() от звездочки до звездочки, потом запоминаешь последнюю звездочку и заново поиск. Вывод тех строк, которые прошли в цикле все "И". Писать весь код времени увы нет, тутошние монстры может что-то быстрее предложат
...
Рейтинг: 0 / 0
ИДЕЯ!!! Поиск в ListBox. Как заменить "пробел" на "звездочку" для ускорения поиска....
    #35645667
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделай так:
ListBox1.Selected(.Match( Replace(TextBox2.Text, " ", "*") & "*", .Transpose([ФОРМ_НАИМЕНОВАНИЕ]), 0) - 2) = True
...
Рейтинг: 0 / 0
ИДЕЯ!!! Поиск в ListBox. Как заменить "пробел" на "звездочку" для ускорения поиска....
    #35645683
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А с выключателем будет как-то так:
ListBox1.Selected(.Match( IIf(выключатель = True, Replace(TextBox2.Text, " ", "*"), TextBox2.Text) & "*", .Transpose([ФОРМ_НАИМЕНОВАНИЕ]), 0) - 2) = True
...
Рейтинг: 0 / 0
ИДЕЯ!!! Поиск в ListBox. Как заменить "пробел" на "звездочку" для ускорения поиска....
    #35648062
Фотография Dan-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за подсказку. Завтра попробую.
Я пошел более безумным путем: сделал около 300 кнопок. расположил их на мультиформах разбив их на "смысловые группы".
Каждую кнопку обозвал сообразно номеру идентификатора.
Например: CommandButton_В007
Затем на в VBA на форме дважды щелкнул все кнопки, при этом образовалась длинная колонка макросов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Private Sub CommandButton_В007_Click()

End Sub

Private Sub CommandButton_В009_Click()

End Sub

Private Sub CommandButton_Г001_Click()

End Sub

Private Sub CommandButton_Г006_Click()

End Sub

Private Sub CommandButton_Д001_Click()

End Sub

Private Sub CommandButton_Д005_Click()

End Sub

Private Sub CommandButton_Д008_Click()

End Sub

Затем я их скопировал на лист ExceL
и через формулы получил колонку требуемых макросов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub CommandButton_В007_Click()
UserForm1.TextBox1.Text = "В007"
ОБНОВЛЕНИЕ_КНОПКИ
End Sub
Private Sub CommandButton_В009_Click()
UserForm1.TextBox1.Text = "В009"
ОБНОВЛЕНИЕ_КНОПКИ
End Sub
Private Sub CommandButton_Г001_Click()
UserForm1.TextBox1.Text = "Г001"
ОБНОВЛЕНИЕ_КНОПКИ
End Sub
Private Sub CommandButton_Г006_Click()
UserForm1.TextBox1.Text = "Г006"
ОБНОВЛЕНИЕ_КНОПКИ
End Sub

Сложность была только в одном - как получить кавычки в формуле.
Сделал просто:

="UserForm1.TextBox1.Text = "&"''"&ПСТР(G89;27;4)&"''"

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

В итоге менеджерам понравилось. Получилось реально удобнее чем в 1С...

Хотя конечно надо доводить до ума...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ИДЕЯ!!! Поиск в ListBox. Как заменить "пробел" на "звездочку" для ускорения поиска....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]