Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/взаимоисключающий отбор через ComboBox с фильтром в ListBox - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » взаимоисключающий отбор через ComboBox с фильтром в ListBox (Макросы/Sub)
взаимоисключающий отбор через ComboBox с фильтром в ListBox
urlchik Дата: Пятница, 28.12.2018, 19:57 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте люди знающие! Который раз прошу Вашей помощи, так как сам слабошарящий в ВБА!
Суть: есть файл с перечнем транспорта, вид, тип, характеристики, АТП
на форме есть 5 комбо и листбокс
хочу сделать фильтрацию в листбокс при выборе значений в комбиках, а комбики связные - т.е. при выборе в 1ом значения во 2ом меняются

в принципе все работает, но чуток не так как надо
например:
выбор тип-Пикап, марка-тойота ==все сортирует, а при выборе легковые вильтр сбивается ---отбирает все легковые
или при выборе АТП выбирает все значения по АТП, не сохраняя уже отобранные значения (только пикапы)

и еще при выборе строки в ЛистБоксе, надо заполнить значения комбобоксов соответственно

в общем в файлике все поймете

Заранее благодарю откликнувшихся!
И желаю всем счастья в Новом 2019ом году, крепкого здравия, светлой головы и интересных разработок!
К сообщению приложен файл: ___.xlsm(36.7 Kb)


Век живи - век учись!
 
Ответить
СообщениеЗдравствуйте люди знающие! Который раз прошу Вашей помощи, так как сам слабошарящий в ВБА!
Суть: есть файл с перечнем транспорта, вид, тип, характеристики, АТП
на форме есть 5 комбо и листбокс
хочу сделать фильтрацию в листбокс при выборе значений в комбиках, а комбики связные - т.е. при выборе в 1ом значения во 2ом меняются

в принципе все работает, но чуток не так как надо
например:
выбор тип-Пикап, марка-тойота ==все сортирует, а при выборе легковые вильтр сбивается ---отбирает все легковые
или при выборе АТП выбирает все значения по АТП, не сохраняя уже отобранные значения (только пикапы)

и еще при выборе строки в ЛистБоксе, надо заполнить значения комбобоксов соответственно

в общем в файлике все поймете

Заранее благодарю откликнувшихся!
И желаю всем счастья в Новом 2019ом году, крепкого здравия, светлой головы и интересных разработок!

Автор - urlchik
Дата добавления - 28.12.2018 в 19:57
StoTisteg Дата: Суббота, 29.12.2018, 11:12 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1157
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
urlchik, Вы в принципе делаете не то. Зачем пытаться реализовать автофильтр прямо в форме, если можно отфильтровать на листе и подтянуть результат в форму?


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщениеurlchik, Вы в принципе делаете не то. Зачем пытаться реализовать автофильтр прямо в форме, если можно отфильтровать на листе и подтянуть результат в форму?

Автор - StoTisteg
Дата добавления - 29.12.2018 в 11:12
StoTisteg Дата: Суббота, 29.12.2018, 11:31 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1157
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Выгрузка данных в комбо у Вас реализована. Странно, правда, на мой вкус, но корректно. Теперь в событиях Change (а не Click!) каждого комбо прописываете [vba]
Код
    rng.AutoFilter Field:=2, Criteria1:=ComboBox2.Value, Operator:=xlFilterValues 'rng —диапазон с таблицей, включая заголовки
    With ListBox2
      .Clear
      .RowSource = rng.SpecialCells(xlCellTypeVisible)
   End With
[/vba]Идея не проверена но в принципе, думаю, понятна.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеВыгрузка данных в комбо у Вас реализована. Странно, правда, на мой вкус, но корректно. Теперь в событиях Change (а не Click!) каждого комбо прописываете [vba]
Код
    rng.AutoFilter Field:=2, Criteria1:=ComboBox2.Value, Operator:=xlFilterValues 'rng —диапазон с таблицей, включая заголовки
    With ListBox2
      .Clear
      .RowSource = rng.SpecialCells(xlCellTypeVisible)
   End With
[/vba]Идея не проверена но в принципе, думаю, понятна.

Автор - StoTisteg
Дата добавления - 29.12.2018 в 11:31
urlchik Дата: Среда, 02.01.2019, 09:16 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Странно, правда, на мой вкус, но корректно

Спасибо! Попробую!

А можете свой примерчик кинуть ну хоть на 3 комбика? Хочу глянуть Вашу идею фильтрации в комбиках.

Моя не очень корректно срабатывает - если выбрать сначала Марку (Тойота), потом АТП (АТП2), то в поле Марка возвращает все Марки. Т.е. первоначальный отбор по Марка пропадает.


Век живи - век учись!
 
Ответить
Сообщение
Странно, правда, на мой вкус, но корректно

Спасибо! Попробую!

А можете свой примерчик кинуть ну хоть на 3 комбика? Хочу глянуть Вашу идею фильтрации в комбиках.

Моя не очень корректно срабатывает - если выбрать сначала Марку (Тойота), потом АТП (АТП2), то в поле Марка возвращает все Марки. Т.е. первоначальный отбор по Марка пропадает.

Автор - urlchik
Дата добавления - 02.01.2019 в 09:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » взаимоисключающий отбор через ComboBox с фильтром в ListBox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!