Страницы: 1 2 След.
RSS
Форма поиска по списку, Удобный поиск по аналогии с решением от GIGant + 2..3 колонки
 
Добрый день!
Нашёл в архиве Удобный поискот GIGant.

По клику по позиции из списка в форме поиска, она добавляется в выделенную ячейку листа.
Вопрос.
1. Как реализовать, что бы в форме поиска присутствовали ещё 2..3 колонки с данными?
2. И, соответственно, чтобы по клику в списке формы поиска добавлялась позиция и соседние значения в определённые (возможно, не соседние) ячейки в листе?

Office 2010 и Office 2007. Список на 2000 строк.
p.s. Это всё для наполнения формы счёта или накладной... Хотя бы 1ый вопрос.

Office 2010 и Office 2007. Список на 2000 строк.

p.s. Это всё для наполнения формы счёта или накладной... Хотя бы 1ый вопрос.
 
Цитата
jack_21 написал: ещё 2..3 колонки
У LisBox'а (ListBoxItems) есть свойства .ColumnCount (количество столбцов) и .ColumnWidths (ширИны этих столбцов)  
Согласие есть продукт при полном непротивлении сторон
 
Цитата
jack_21 написал:
что бы в форме поиска присутствовали ещё 2..3 колонки с данными
А зачем их отображать в форме? Ведь поиск всё равно производится по одному значению, а нужные данные из 2-3 столбцов брать из исходного диапазона.  
 
Цитата
Юрий М написал:
А зачем их отображать в форме?
Что бы сразу видеть количество наименований  на складе и если их, скажем, 0 или очень мало - искать что-то ближайшее...

Цитата
Sanja написал:
У LisBox'а (ListBoxItems) есть свойства .ColumnCount и .ColumnWidths
Спасибо. Буду искать...
Изменено: jack_21 - 13.08.2017 19:07:03
 
Уточню, а то не то будете искать. ListBoxItems - это имя конкретного ЛистБокса на этой форме
Согласие есть продукт при полном непротивлении сторон
 
Мда... Видимо, не всё так просто.
Изменение .ColumnCount= 3 не дало ожидаемого результата.
Данные из 3х колонок вставляются в одну, последовательно... Видимо, ещё надо исправлять код вставки данных из источника.  :cry:  
Изменено: jack_21 - 13.08.2017 21:06:41
 
jack_21, но ведь не видно структуры Ваших данных... Какой можно дать совет?... :sceptic:
 
структура данных такая:

КОД - НАИМЕНОВАНИЕ - КОЛИЧЕСТВО - ЦЕНА1 - ЦЕНА2

колонка "код" : не для каждой стройки есть, т.е. есть пустые ячейки. Возможно, колонку "код" надо будет переместить, что бы можно было использовать =ВПР().
колонка "наименование" - текстовые данные
 
Там ДОработать под Ваши нужды не получиться. Нужно писать код под Ваши, конкретные, данные
Изменено: Sanja - 13.08.2017 22:34:28
Согласие есть продукт при полном непротивлении сторон
 
jack_21, а форму в картинку писать?
Кроме того расписанных в сообщ. 1 пожеланий не достаточно для понимания задачи, а солнце уже село...!!!  :)

Из правил форума:
Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
 
AAF, саму форму можно глянуть по ссылке в стартовом сообщении )
 
Цитата
jack_21 написал:
добавлялась позиция и соседние значения в определённые (возможно, не соседние) ячейки в листе?
Я про это.
Откуда, куда, что и в каком порядке и т. д.
 
Цитата
AAF написал:
Откуда, куда, что и в каком порядке и т. д.
А это по картинке - автор не хочет Excel-файл показывать ))
 
Прикладываю файл.
1. Данные из колонок A:E хотелось бы видеть в форме поиска, в ListBox.
2. По даблКлику по позиции в ListBox, данные из строки переносятся в соотв. колонки правой таблицы:
A --> L
B --> G
С --> I
D --> M
E --> J
Таблица с данными (книга) находится во вне. Или на другом листе в той же книге.
Это, как бы, задача максимум...
Достаточно, если данные будут переносится с сохранением последовательности в строке.
Тогда я их вынесу за область печати и уже после распределю по нужным ячейкам.  :oops:

Задача минимум -
просто отображение данных по колонкам в ListBox. И пусть по ДаблКлику переносится только значение колонки NAME, как и было в решении от GIGant.


Рисунок удален: превышение допустимого размера вложения [МОДЕРАТОР]
 
jack_21, поиск ведется по позиции?
 
Да, по позиции.  По коду - это лишнее. Пока лишнее.  :)

p.s. Для удобства реализации и сохранения порядка переноса значений в строке - ничто не мешает переделать исходный список, т.е. поменять колонки местами.
Изменено: jack_21 - 14.08.2017 00:42:58
 
Тут вопрос, скорее, поиск в одном текстбоксе по нескольким колонкам или в разных (каждый по своей)

PS A --> L : Нужен заголовок дла автоматизации, а то не кашерно как-то

И первая таблица на другом листе должна быть по идее..

Ну если так, то все ясно.
Изменено: AAF - 14.08.2017 00:48:05
 
Не могу понять что удобнее... Думаю, что на каждую колонку свой TextBox - слишком муторно.
Вполне достаточно поиска по наименованию.
Но если возможно реализовать поиск ОДНИМ TextBox и по колонке "Name" и по колонке "ID" - тоже не плохо.  :oops:  
 
jack_21, согласен.
Да, а вот два раза может забиваться позиция?
Изменено: AAF - 14.08.2017 01:05:08
 
Нет. Только один раз.
 
Проверяйте.
Все ли так, как требовалось?
Изменено: SAS888 - 14.08.2017 09:14:30
Чем шире угол зрения, тем он тупее.
 
Das Ist Fantastisch!  :D  Вроде, всё работает... Очень спасибо!!!

Буду пробовать разобраться как это прикрутить к решению от GIGant.
Подозреваю, что просто перенести Свойства вашего ListBox в ListBox решения от GIGant будет не достаточно... Что бы остался работать поиск в TextBox.

Ещё раз большое спасибо.
 
Что-типа, только допилить надо внешний вид...
Изменено: AAF - 15.08.2017 14:20:21
 
AAF,внешний вид допилю... А что делает (какая функция) кнопка "V" в форме?
 
Берет ширину столбцов с листа.
Изменено: AAF - 15.08.2017 16:15:42
 
ИМХО, вариант all.xlsb (пост 21) несколько удобнее. Ибо добавляет позицию в список сразу.


Мда... Провёл весь день в метаниях и поисках матчасти для обретения хоть какого-то осмысления происходящего...  8-0
До сего момента пользовал только Macros Record с последующим минимальным редактированием... Ну и CMD/BAT для собственных нужд...
"А тут у нас не Чикаго. Тут покруче будет..." (с)  :D
Изменено: jack_21 - 14.08.2017 23:44:10
 
Посмотрите пример во вложении.
Для быстрого поиска добавлен TextBox. При пустом значении TextBox-а, в ListBox-е будут отображаться все строки (можно выбирать). При ручном вводе значения в TextBox, в ListBox-е будут отображаться только те строки, которые содержат текущую введенную последовательность символов. Отбор строк осуществляется либо по Name, либо по ID (на форме есть переключатель).
Ввод в таблицу рабочего листа происходит при DblClick по требуемой позиции в ListBox-е.
Строки в таблице будут автоматически сортироваться по столбцу Name в алфавитном порядке.
Изменено: SAS888 - 15.08.2017 12:05:27
Чем шире угол зрения, тем он тупее.
 
Не знаю что еще добавить, с точки зрения общего подхода...  :)
 
Тестирую, смотрю...
 
jack_21, я сегодня еще скину в это сообщение версию после оптимизации кода.
А так, размер окна регулируется, колонок тоже... На лист не на лист добавляет/удаляет, если еще чего, то пока можно добавить... :)
Страницы: 1 2 След.
Наверх