Страницы: 1 2 След.
RSS
Автофильтр в Combobox
 
Основная задача использовать Combobox как альтернативу стандартному автофильтру.    
Т.е при нажатии на Combobox отображался перечень уникальных значений столбца.  
А после выбора определенного значения выполнялась фильтрация по данному значению.  
Понимаю что легче воспользоваться стандартным автофильтром и не морочить себе и людям голову, но "партия" сказала надо
 
> но "партия" сказала надо  
 
Ну так пусть партия и платит за работу - реализуем.  
 
Не вижу смысла тратить кучу времени на реализацию альтернативного варианта того, что уже давно сделано, и работает без глюков, - автофильтра.  
 
При желании можно в excel реализовать и медиа-плейер, и графический редактор - вот только стоит ли...  
А писать универсальный код для Combobox, чтобы такую фильтрацию можно было осуществлять в любой таблице, и легко добавлять при необходимости эти комбобоксы в нужное место листа, вряд ли будет проще...
 
Может текст бокс из элементов управления и связанный макрос?  
ЗЫ с форума, не мое...  
Private Sub TextBox1_Change()  
With ActiveSheet  
If TextBox1.Text = "" Then  
.ShowAllData  
Else  
If .AutoFilterMode = False Then .Range("A1:H1").AutoFilter  
.Range("D1").AutoFilter 4, "*" & TextBox1.Text & "*"  
End If  
End With  
End Sub
 
{quote}{login=EducatedFool}{date=11.11.2009 05:20}{thema=}{post}> но "партия" сказала надо  
 
Ну так пусть партия и платит за работу - реализуем.  
 
{/post}{/quote}  
 
Если бы партия выделяла финансы ты думаешь я бы лазил по форумам)))
 
Не, использую просто для включения автофильтра при вводе текста  
Очень удобно, когда примерно знаю что должно быть  - начинаешь набирать и идет филтрация с условием содержит:) В автофильтре это достаточно далеко:(  
Игорь67
 
{quote}{login=}{date=11.11.2009 05:25}{thema=}{post}Может текст бокс из элементов управления и связанный макрос?  
ЗЫ с форума, не мое...  
Private Sub TextBox1_Change()  
With ActiveSheet  
If TextBox1.Text = "" Then  
.ShowAllData  
Else  
If .AutoFilterMode = False Then .Range("A1:H1").AutoFilter  
.Range("D1").AutoFilter 4, "*" & TextBox1.Text & "*"  
End If  
End With  
End Sub{/post}{/quote}  
 
Вот за это спасибо, теперь есть куда двигаться))
 
{quote}{login=The_Prist}{date=11.11.2009 05:28}{thema=Re: }{post}{quote}{login=}{date=11.11.2009 05:25}{thema=}{post}Может текст бокс из элементов управления и связанный макрос?{/post}{/quote}Ну да. Только надо уникальные элементы столбца еще заносить в Бокс, прежде чем значение из него выбрать.{/post}{/quote}  
 
А по этому вопросу уже была тема на форуме, так что по сути автофильтр в комбобоксе как говориться уже сияет на горизонте.
 
{quote}{login=Libera}{date=11.11.2009 05:32}{thema=Re: }{post}  
Если бы партия выделяла финансы ты думаешь я бы лазил по форумам))){/post}{/quote}  
 
Если финансов нет - остаётся одно: изучать объектную модель Excel, осваивать VBA, учиться писать макросы самостоятельно.  
 
Сложного ничего нет:  
 
Выборка уникальных значений из столбца - 5 строк кода  
Заполнение комбобокса этими значениями - 5 строк кода  
Предварительное автоопределение размеров столбца - около 10 строк кода  
Применение автофильтра при изменении значения в комбобоксе - 5 строк кода  
Плюс к этому около 10-20 строк кода для учёта всяких нюансов.  
 
Но! Сделать это решение универсальным (чтобы использовать эти комбобоксы повсеместно) - НАМНОГО СЛОЖНЕЕ...
 
Игорь про отладку забыл, тоже муторное занятие...
 
См. файл
 
Атору топика два с минусом за идею, блажь...
 
{quote}{login=АБВ}{date=11.11.2009 06:21}{thema=Автофильтр в Combobox}{post}См. файл{/post}{/quote}  
 
Огромное спасибо, то что доктор прописал. Пошел приспосабливать к своей таблице.
 
VovaK - а почему два с минусом?  
Ответ Libera "Огромное спасибо, то что доктор прописал."
 
{quote}{login=VovaK}{date=11.11.2009 06:37}{thema=}{post}Атору топика два с минусом за идею, блажь...{/post}{/quote}  
 
Суть не в идее а решении задачи.  
 
З.Ы. Молодой человек, я так понимаю вы себе количество сообщений для статуса стараетесь увеличить или как. Всего одна тема, а два никому не нужных сообщения.
 
Спасибо всем отозвавшимся. Если есть желание развивать тему, как говориться прошу к столу. В будущем может кому то пригодиться.
 
требуется немного расширить возможности "Автофильтр + Комбобокс"...    
 
то есть добавить возможности для выбора одного уникального значения  
 
... есть варианты? задача в приложении.
 
комментарий к посту выше + сопсна порядок работы этой выборки:  
 
1.формирование списка уникальных имен ("A2:A") для Combobox1 (сделано)  
2.фильтр базы по значению combobox1 (сделано)  
3.формирование списка уникальных имен ("B2:B") для Combobox2 (сделано)  
 
вот тут стопор (ПРОШУ ПОМОЩИ...)...  
3.1.Выборка из него имен, находящимся в отфильтрованной базе по значению Combobox1  
 
4.фильтр базы по уникальным значениям combobox1, combobox2 (сделаю)  
и т.д. по этой схеме мне нужно выбрать строки, соответствующие пяти параметрам.
 
вариант без автофильтра  
 
но:  
1.разумной скорости обработки хватает если строк не больше 100 условий не >4...  
2.повторение отсортированный значений  
 
как победить???
 
а... файлик:
 
ндык эта... еще не победил :)    
 
отчет о битвах:  
использовано: 2 типа стратегий (автофильтр и переборка)  
выпущено снарядов: прочитано 112 файлов с околопохожими примерами  
патронов: около 400 просмотренных страниц форумов  
потери: калории подсчитываются  
победы: первый фронт  
 
все еще необходимость помощи актуальна...
 
{quote}{login=ТемТёмыч}{date=17.12.2009 10:04}{thema=}{post}а... файлик:{/post}{/quote}  
Здравствуйте!  
Ув. ТемТёмыч, пример очень кстати!  
Спасибо большое!  
Просьба, подправьте код для ComboBox1, чтобы список в нем разворачивался сортированный по алфавиту.  
С ув. Vovan.
 
с использованием другого кода (тоже с форума) ситуация улучшилась... близится победа на фтором фронте (combobox2) :)  
 
приложение с алфавитным порядком:
 
{quote}{login=ТемТёмыч}{date=18.12.2009 10:00}{thema=}{post}с использованием другого кода (тоже с форума) ситуация улучшилась... близится победа на фтором фронте (combobox2) :)  
 
приложение с алфавитным порядком:{/post}{/quote}  
Большое спасибо, ТемТёмыч!  
Вмонтировал в свой файл, работает прекрасно!  
С ув. Vovan.
 
У меня вопрос тоже касается автофильтра, и тоже в комбобокс, только задачи немножко другие.  
Для наглядности - прикрепил файл. С помощью формы редактирую или добавляю таблицу. Для редактирования каждой колонки - свой комбобокс. В первом выбираю или пишу порядковый номер, если эта строка уже чем-то заполнена, остальные комбобоксы заполняются из этой строки, а дальше я редактирую - или вписывая в комбобоксы новое, или выбирая в выпадающих списках готовое. Так вот, у меня проблема - как сделать, чтобы в комбобоксах были уже профильтрованые списки - т.е. чтобы они заполнялись не содержимым всего столбца, а только уникальными значениями из него?  
И при этом не применять стандартный автофильтр для самого листа с таблицей...  
Кто-нибудь может помочь?  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
извините, файлик глючный вышел.    
вот правильный  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
{quote}{login=drinck}{date=03.12.2010 12:28}{thema=}{post}вот правильный  
{/post}{/quote}  
Неа - тоже неправильный
 
http://www.planetaexcel.ru/forum.php?thread_id=10602 И с Правилами ознакомьтесь.
 
да вот не понял, откуда 200 кило...  
заархивировал.
 
{quote}{login=Юрий М}{date=03.12.2010 12:36}{thema=}{post}http://www.planetaexcel.ru/forum.php?thread_id=10602 И с Правилами ознакомьтесь.{/post}{/quote}  
 
Спасибо за подсказку. попробую применить.
 
ТемТёмычу.Поддерживаю.  
 
(т.к.:  
1) А если на Листе - БольшаяЗаконченнаяБазаДанных,  
а в ней 100 Столбцов (и по другому - никак)  
(которые на имеющихся 5-ти экранах не помещаются?  
2) А  у "партии" - Скролл на скотч прилеплен и все время на стол выпадывает?  
3) и т.д. и т.п.  
 
Следовательно,    
ПОЛНОЕ дублирование EXCEL'sАвтофильтра, естественно, не нужно.  
Но -  ИнструментБыстрогоОриентированияПоТакимТаблицам (для любимых "партий")-  
актуален.)  
 
 
Посмотрите вариант.  
Топорно, но - работает.  
 
Нужна, конечно, рука маэстро - отшлифовать до полной грамотности.  
 
P/S  
Делал в 2010.При сохранении в 2003 (теоретически) могут появиться НЕточности.  
В 2010, вроде, все работает.
Страницы: 1 2 След.
Читают тему
Наверх