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

Вход

Регистрация

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

 

= Мир MS Excel/Автофильтр в ListBox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автофильтр в ListBox (Макросы/Sub)
Автофильтр в ListBox
damask_86ru Дата: Суббота, 21.02.2015, 10:48 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Всем доброго времени суток!
Во вложении файл excel, на листе DataBase имеется таблица и кнопка вызова UserForm.
В UserForm есть ListBox в котором отображаются данные из той самой таблицы.
А теперь сам вопрос:
Возможно ли осуществить автофильтр в ListBox используя TextBox'ы и ComboBox'ы расположенные над ним?
TextBox'ы только для точного поиска, а ComboBox'ы именно для фильтрации как в оригинальном автофильтре excel.
К сообщению приложен файл: DBS.xls (41.0 Kb)


Сообщение отредактировал damask_86ru - Суббота, 21.02.2015, 13:43
 
Ответить
СообщениеВсем доброго времени суток!
Во вложении файл excel, на листе DataBase имеется таблица и кнопка вызова UserForm.
В UserForm есть ListBox в котором отображаются данные из той самой таблицы.
А теперь сам вопрос:
Возможно ли осуществить автофильтр в ListBox используя TextBox'ы и ComboBox'ы расположенные над ним?
TextBox'ы только для точного поиска, а ComboBox'ы именно для фильтрации как в оригинальном автофильтре excel.

Автор - damask_86ru
Дата добавления - 21.02.2015 в 10:48
nilem Дата: Суббота, 21.02.2015, 14:16 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вот этот примерчик вроде бы подходит


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевот этот примерчик вроде бы подходит

Автор - nilem
Дата добавления - 21.02.2015 в 14:16
damask_86ru Дата: Суббота, 21.02.2015, 14:43 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
nilem, это не то. Необходима фильтрация по разным критериям, как в оригинальном автофильтре excel.
 
Ответить
Сообщениеnilem, это не то. Необходима фильтрация по разным критериям, как в оригинальном автофильтре excel.

Автор - damask_86ru
Дата добавления - 21.02.2015 в 14:43
Leanna Дата: Суббота, 21.02.2015, 17:15 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
damask_86ru, чем тогда оригинальный фильтр не подходит?


Лучше день потерять, потом за пять минут долететь!
 
Ответить
Сообщениеdamask_86ru, чем тогда оригинальный фильтр не подходит?

Автор - Leanna
Дата добавления - 21.02.2015 в 17:15
Leanna Дата: Суббота, 21.02.2015, 19:23 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
А какие действия кроме фильтрации вы хотите проводить?
Тоже самое: защитить лист и оставить возможность автофильтра. Чем стандартный автофильтр не подходит?


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеА какие действия кроме фильтрации вы хотите проводить?
Тоже самое: защитить лист и оставить возможность автофильтра. Чем стандартный автофильтр не подходит?

Автор - Leanna
Дата добавления - 21.02.2015 в 19:23
Leanna Дата: Суббота, 21.02.2015, 20:56 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Посмотрите вложение сделала на примере ComboBox'ов
функцию NoDups использовала отсюда
К сообщению приложен файл: 2942381.xls (68.5 Kb)


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеПосмотрите вложение сделала на примере ComboBox'ов
функцию NoDups использовала отсюда

Автор - Leanna
Дата добавления - 21.02.2015 в 20:56
damask_86ru Дата: Воскресенье, 22.02.2015, 11:25 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Leanna, у меня есть еще один вопрос по теме.
Простите за назойливость.
Я даже и не знаю, поймете Вы меня...
Возможно ли сделать так, чтобы при выборе в ComboBox1 (тип задания) к примеру "кап.ремонт"он не терял у себя из списка остальные значения, а ComboBox2 (ид.) фильтровался под это значение... в нем должно остаться "20" и "80".
И затем при выборе значения из ComboBox2 к примеру "20", он не терял значение "80", а так же происходил фильтр данных ComboBox1, оставив в нем значения "кап.ремонт" и "ремонт".
Блин как все запутано.


Сообщение отредактировал damask_86ru - Воскресенье, 22.02.2015, 11:43
 
Ответить
СообщениеLeanna, у меня есть еще один вопрос по теме.
Простите за назойливость.
Я даже и не знаю, поймете Вы меня...
Возможно ли сделать так, чтобы при выборе в ComboBox1 (тип задания) к примеру "кап.ремонт"он не терял у себя из списка остальные значения, а ComboBox2 (ид.) фильтровался под это значение... в нем должно остаться "20" и "80".
И затем при выборе значения из ComboBox2 к примеру "20", он не терял значение "80", а так же происходил фильтр данных ComboBox1, оставив в нем значения "кап.ремонт" и "ремонт".
Блин как все запутано.

Автор - damask_86ru
Дата добавления - 22.02.2015 в 11:25
Leanna Дата: Воскресенье, 22.02.2015, 17:02 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Вот посмотрите, так?
Я там добавила невидимый ListBox2 что бы не подгружать каждый раз с листа данные в Listbox 1, я подгружаю массив из ListBox2
К сообщению приложен файл: userform1.xls (55.0 Kb)


Лучше день потерять, потом за пять минут долететь!

Сообщение отредактировал Leanna - Воскресенье, 22.02.2015, 17:09
 
Ответить
СообщениеВот посмотрите, так?
Я там добавила невидимый ListBox2 что бы не подгружать каждый раз с листа данные в Listbox 1, я подгружаю массив из ListBox2

Автор - Leanna
Дата добавления - 22.02.2015 в 17:02
damask_86ru Дата: Воскресенье, 22.02.2015, 20:35 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Leanna, добрый вечер.
Я вложил два файла оригинальной таблицы, посмотрите пожалуйста. Первая сделана по Вашему первому примеру, все работает, как в примере. Второй файл по последнему примеру, и что-то не получается совсем, выдает ошибку.
У меня там перевод текста на объектах имеется, который осуществляется в зависимости от выбора языка в ComboBox1, может быть поэтому проблема? Хотя в первом файле так же имеется перевод.
К сообщению приложен файл: DataBaseSlurry_.rar (33.9 Kb) · 4582435.rar (30.8 Kb)
 
Ответить
СообщениеLeanna, добрый вечер.
Я вложил два файла оригинальной таблицы, посмотрите пожалуйста. Первая сделана по Вашему первому примеру, все работает, как в примере. Второй файл по последнему примеру, и что-то не получается совсем, выдает ошибку.
У меня там перевод текста на объектах имеется, который осуществляется в зависимости от выбора языка в ComboBox1, может быть поэтому проблема? Хотя в первом файле так же имеется перевод.

Автор - damask_86ru
Дата добавления - 22.02.2015 в 20:35
Leanna Дата: Воскресенье, 22.02.2015, 22:55 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
damask_86ru, Ошибка в том что в вашем случае надо перебирать комбобоксы начиная со второго по седьмой (первый занят). Подправила ещё там по мелочам. Смотрите файлик:
К сообщению приложен файл: 6231940.rar (26.6 Kb)


Лучше день потерять, потом за пять минут долететь!
 
Ответить
Сообщениеdamask_86ru, Ошибка в том что в вашем случае надо перебирать комбобоксы начиная со второго по седьмой (первый занят). Подправила ещё там по мелочам. Смотрите файлик:

Автор - Leanna
Дата добавления - 22.02.2015 в 22:55
Leanna Дата: Воскресенье, 22.02.2015, 22:59 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Вот эта конструкция понимаете что делает?
Она контролам по очереди имя которых ComboBox2, ComboBox3 ... ComboBox7 по очереди присваивает сброс значения
[vba]
Код
For ii = 2 To 7
     With Me.Controls("ComboBox" & ii)
         .ListIndex = -1
     End With
Next
[/vba]


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеВот эта конструкция понимаете что делает?
Она контролам по очереди имя которых ComboBox2, ComboBox3 ... ComboBox7 по очереди присваивает сброс значения
[vba]
Код
For ii = 2 To 7
     With Me.Controls("ComboBox" & ii)
         .ListIndex = -1
     End With
Next
[/vba]

Автор - Leanna
Дата добавления - 22.02.2015 в 22:59
damask_86ru Дата: Вторник, 10.03.2015, 14:26 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Leanna, Спасибо Вам за внимание!
Все верно, ошибка была именно в том, что перебор combobox'ов был со 2 по 7.
Переделал, чтобы combobox'ы которые отвечают за фильтрацию listbox начинались с 1-го, и теперь все отлично работает! hands
Еще раз, СПАСИБО!
 
Ответить
СообщениеLeanna, Спасибо Вам за внимание!
Все верно, ошибка была именно в том, что перебор combobox'ов был со 2 по 7.
Переделал, чтобы combobox'ы которые отвечают за фильтрацию listbox начинались с 1-го, и теперь все отлично работает! hands
Еще раз, СПАСИБО!

Автор - damask_86ru
Дата добавления - 10.03.2015 в 14:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автофильтр в ListBox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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