Страницы: 1 2 3 След.
RSS
быстрый поиск по таблице
 
в прилагаемом файле, пример прайс -листа, он очень большой по объему,  
поэтому очень часто приходиться пользоваться функцией поиск, но не всегда это удобно...  
вот думал как можно облегчить работу с такой таблицей, но решение только теоретическое, прошу помочь решить практически.  
поиск осуществляется либо в одной либо второй ячейке, результаты данного поиска выводятся в таблицу со списком и прокруткой рядом., при выборе нужного значения атоматически происходит переход в нужную строку с одновременным ее посвечиванием.
 
Посмотрите мой вариант.
 
довольно -таки приемлимый вариант, большое спасибо...  
маленький вопрос.  
таблица, т.е. прайс формируется из другой таблицы, более расширенной, формируется после выбора определенных условий.  
формирование производится при помощи макроса, который был записан при помощи прграммы способом выполнения определенных действий (т.е. копирование исходной таблицы в отдельный лист, форматирование всех ячеек и удаление ненужных столбцов)  
вопрос такой, если я код макроса, предложенного вами скопирую в свой макрос, он будет работать?, т.е. создасться ли нужная форма в новом документе?
 
Юрию М  
В тексте кода Module1 мне кажется должен стоять 3-ий столбец, а у вас 1.  
 
iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row ' вычисляем номер последней строки
 
{quote}{login=Kuzmich}{date=12.08.2009 11:53}{thema=Вопрос по макросу}{post}Юрию М  
В тексте кода Module1 мне кажется должен стоять 3-ий столбец, а у вас 1.  
 
iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row ' вычисляем номер последней строки{/post}{/quote}  
Kuzmich, Вы верно заметили, спасибо! Недоглядел...
 
{quote}{login=kon-stantin}{date=12.08.2009 10:44}{thema=}{post}  
вопрос такой, если я код макроса, предложенного вами скопирую в свой макрос, он будет работать?, т.е. создасться ли нужная форма в новом документе?{/post}{/quote}  
Копирование кода форму в новый файл. не добавит. Если нет возможности работать с этим файлом (почему бы сразу не выложить нужный?), сначала экспортируйте форму, а затем в Вашем файле выполните импорт. Код можно просто скопировать, а можно также выполнить экспорт-импорт.  
P.S. Обратите внимание на предыдущее сообщение!!! Единичку в указанной строке кода следует заменить на тройку. Иначе из диапазона поиска выпадает нижняя часть таблицы.
 
Юрий М, подскажите, пожалуйста, а если чуть изменеить задачу, мне также часто нужно фильтровать базу с поиском строк. можно ли сделать таким образом:  
открываем базу, там окно поиска и сразу вбивая первые буквы (не открывая как в вашей таблицу форму поиска) идет фильтр по всему содержимому, справа высвечиваются результаты, нажав на которые меня перекидывает на нужную ячейку?
 
Возможность фильтрации практически реализована  
в форме Юрия М, если выбрать частичное совпадение  
и в окне поиска набрать, например, "комплект".  
Будут найдены все строки, содержащие это слово.
 
{quote}{login=Kuzmich}{date=13.08.2009 05:10}{thema=фильтрация}{post}Возможность фильтрации практически реализована  
в форме Юрия М, если выбрать частичное совпадение  
и в окне поиска набрать, например, "комплект".  
Будут найдены все строки, содержащие это слово.{/post}{/quote}  
 
да, так оно и есть, но 1 нужно открыть форму, 2е нужно начать вбивать слово и жатьт поиск.  
 
а хочется чтобы было все автоматом, как на пример, на яндексе, когда начинаешь вводить запрос, то автоподставление слов идет по совпадению с буквами ввода.  
вот так же бы и мне с моей базой
 
Замечательный код, в копилку, спасибо а можно сделать так чтоб искал по номеру среди выбранных наименований?
 
{quote}{login=The_Prist}{date=14.08.2009 11:00}{thema=}{post}Смотрите, так?{/post}{/quote}  
Класс!    
Хорошо бы еще подсветку найденного, при переходе...
 
{quote}{login=The_Prist}{date=14.08.2009 11:45}{thema=Re: }{post}{quote}{login=Микки}{date=14.08.2009 11:41}{thema=}{post}а можно сделать так чтоб искал по номеру среди выбранных наименований?{/post}{/quote}  
А что значит по номеру среди выбранных?  
Често, может пятница влияет, не догоняю мысль.{/post}{/quote}Вероятно, хочет что бы при поиске отображалось сразу два окошка - наименоавние и номер...
 
А в таком варианте возможно, что б работало?
 
{quote}{login=The_Prist}{date=14.08.2009 11:00}{thema=}{post}Смотрите, так?{/post}{/quote}  
 
Ваш вариант делает использование макроса в данной таблице более гибким и удобным, единственно, что было бы удобнее после выбора нужного значения это не просто переход на выбранную позицию а и подсвечивание всей строки, как это предложил Юрий_М
 
{quote}{login=kon-stantin}{date=14.08.2009 11:44}{thema=Re: }{post}{quote}{login=The_Prist}{date=14.08.2009 11:00}{thema=}{post}Смотрите, так?{/post}{/quote}  
 
Ваш вариант делает использование макроса в данной таблице более гибким и удобным, единственно, что было бы удобнее после выбора нужного значения это не просто переход на выбранную позицию а и подсвечивание всей строки, как это предложил Юрий_М{/post}{/quote}  
 
Да.. а можно часть кода, предлооженного Юрий_М, там где можно выбирать точное совпадение или частичное в наименовании или коде внедрить в Ваш макрос?  
например:  
в варианте предложенном Юрий_М при выборе частичного совпадения происходит отбор по значению в любой части ячейки. например вводя слово вентилятор будут доступны для выбора: вентялятор, ремень вентилятора и т.д.,что существенно удобнее.  
в то время как вариант предложенный Вами дпредполагает точное совпадение в ячейке, и тем самым при работе с такого рода таблицей предполагает знание этой таблицы наизусть. т.к. одна и таже часть слова может находиться как в начале строки, так и в середине, так и в конце., а это делает поиск не полным.
 
Prist, глянь, пожалуйста - у меня немного барахлит твой последний файл:  
в TextBox ввожу "гил", в ListBox кликаю по "Гильза блока Д2500", попадаю на строку "Гильза блока Д3900 (с бортиком)"
 
А чем Вам не понравилась идея с UserForm? Можно закрепить её в левом верхнем уголочке, если мешает :-)
 
И ещё: Юрий_М это не делал. Это я сделал.
 
{quote}{login=Юрий М}{date=15.08.2009 12:30}{thema=}{post}И ещё: Юрий_М это не делал. Это я сделал.{/post}{/quote}  
 
Да, совершенно правильно, прошу прощение что не правильно указал авторство ... чего-єто я подумал что Юрий_М и Юрий М это один и тот же человек? :)  
 
Как говорят нет предела совершенству....  
и Ваш макрос и макрос The_Prist без сомнения просто великолепны: (где-то в глубине души даже по хорошему завидую Вашим знаниям)  
Вот и хотелось бы совместить оба ваших решения....  
Насколько я понял то код предложенный The_Prist  
я без проблем смогу прописать в исходной таблице(т.е. в той в которой я делаю расчеты продажных цен) чтобы потом макросом вывести итоговую таблицу...  
попробую чуть позже выложить свою исходную таблицу где работает макрос написанный мной (вернее записанный при помощи программы ну и конечно же немного подправленный благодаря этому форуму...  
Просто есть у меня несколько вопросов относительно использования исходной таблицы....
 
Жаль, что Вы не ответили на мой вопрос (тема от 15.08.2009, 00:27). Выделить всю строку с найденным значением не проблема.
 
{quote}{login=Юрий М}{date=15.08.2009 01:35}{thema=}{post}Жаль, что Вы не ответили на мой вопрос (тема от 15.08.2009, 00:27). Выделить всю строку с найденным значением не проблема.{/post}{/quote}  
 
Вы имеете в виду этот вопрос:    
"А чем Вам не понравилась идея с UserForm?..."  
решение  с UserForm очень хорошее и как раз для отдельных пользователей я так и буду реализовывать... за что Вам отдельное спасибо...  
а идея The_Prist удобна по своему... особенно если учесть что исходная таблица получается из нескольких таблиц при помощи макроса...
 
{quote}{login=The_Prist}{date=14.08.2009 01:50}{thema=Re: Re: }{post}{quote}{login=Михаил}{date=14.08.2009 01:40}{thema=Re: }{post}орошо бы еще подсветку найденного, при переходе...{/post}{/quote}  
Это типа цветом выделить? При каких условиях должна выделяться? Нашли-Активировали-Поменяли цвет заливки. Не ушли с ячейки и начали новый поиск. Что делать с той, первой найденной? Всем ячейкам отменить заливку не вариант, как я полагаю, т.к. там уже может присутствовать форматирование.{/post}{/quote}  
 
Ваш вариант просто идеален. На мой взгляд подсветка не нужна. Может быть просто сделать что бы при перемещении к найденной строке она помещалась на верху станицы первой строкой, а не в середине? Тогда ее будет сразу видно. И поиск не по началу строки, но и в середине текста тоже был бы очень удобен.
 
{quote}{login=kon-stantin}{date=15.08.2009 04:05}{thema=Re: }{post}{quote}{login=Юрий М}{date=15.08.2009 01:35}{thema=}{post}Жаль, что Вы не ответили на мой вопрос (тема от 15.08.2009, 00:27). Выделить всю строку с найденным значением не проблема.{/post}{/quote}  
Вы имеете в виду этот вопрос:    
"А чем Вам не понравилась идея с UserForm?..."{/post}{/quote}  
Я про другое, и указал время создания сообщения. Хотел, что бы кто-нибудь проверил: вдруг это только у меня некорректно находит.
 
{quote}{login=nuts}{date=14.08.2009 08:52}{thema=Re: фильтрация}{post}{quote}{login=Kuzmich}{date=13.08.2009 05:10}{thema=фильтрация}{post}Возможность фильтрации практически реализована  
в форме Юрия М, если выбрать частичное совпадение  
и в окне поиска набрать, например, "комплект".  
Будут найдены все строки, содержащие это слово.{/post}{/quote}  
да, так оно и есть, но 1 нужно открыть форму, 2е нужно начать вбивать слово и жатьт поиск. а хочется чтобы было все автоматом, как на пример, на яндексе, когда начинаешь вводить запрос, то автоподставление слов идет по совпадению с буквами ввода. вот так же бы и мне с моей базой{/post}{/quote}  
Если на форме вместо TextBox, куда вводится искомое слово, использовать ComboBox и присвоить ему в качестве RowSource нужный столбец, то по мере ввода начальных символов будет предлагаться первое найденное значение из диапазона.
 
{quote}{login=}{date=15.08.2009 04:12}{thema=Re: Re: }{post}{quote}{login=kon-stantin}{date=15.08.2009 04:05}{thema=Re: }{post}{quote}{login=Юрий М}{date=15.08.2009 01:35}{thema=}{post}Жаль, что Вы не ответили на мой вопрос (тема от 15.08.2009, 00:27). Выделить всю строку с найденным значением не проблема.{/post}{/quote}  
Вы имеете в виду этот вопрос:    
"А чем Вам не понравилась идея с UserForm?..."{/post}{/quote}  
Я про другое, и указал время создания сообщения. Хотел, что бы кто-нибудь проверил: вдруг это только у меня некорректно находит.{/post}{/quote}  
а.. понял.. нет я сразу же проверил ваше сообщение.. ошидки небыло при поиске
 
Дим, проверь мой пост от 15.08.2009, 00:27
 
Ясно. А я уж подумал, что мой Excel барахлит :-)
 
Я думаю, что простое выделение всей строки всех устроит.
 
{quote}{login=Юрий М}{date=17.08.2009 02:57}{thema=}{post}Я думаю, что простое выделение всей строки всех устроит.{/post}{/quote}  
полностью согласен с Вами, простое выделение всей строки наиболее приемлимое решение (вот тут как раз очень удобно Ваше решение, которое Вы приводили в самом начале темы)  
Могу обосновать свое мнение: данный поиск осуществляется в уже готовой таблице, поскольку она большая по содержанию, и как правило необходимо всего-навсего одно значение, например цена за ед. товара, то именно выделение всей строки делает использование данного макроса наиболее удобным..
 
{quote}{login=The_Prist}{date=17.08.2009 02:46}{thema=}{post}Вот наваял пока с доп.критериями. Полное совпадение, частичное совпадение, по началу и по окончанию слов. Выделение делать не буду - очень специфическая вещь, далеко не всем нужная. Кому надо конкретно - пишите - каким цветом, полностью строку или только в пределах таблицы.{/post}{/quote}  
 
Почему то при наборе "гарловина" (при выборе любого из 4 вариантов:полное совпадение, частичное совпадение, начало слова, конец слова) выдает только горловина, причем переход осуществляется только на первую позицию из двух, при этом "горловина в сборе ...." не высвечивается вообще, а при наборе горловина в сборе..." окошко, куда выводятся результаты смещается и не видно полосу прокрутки.
Страницы: 1 2 3 След.
Читают тему
Наверх