Страницы: 1
RSS
VBA фильтр не фильтрует все данные
 
Здравствуйте!
Неоднократно копировал макрос VBA (фильтр) в другие файлы с изменением ввода даных и все работало но не сегодня. Скопировал в талицу и он не работает, а именно:
1) При вводе данных в ячейку     А2   ОПТ/Розница - не фильтрует
2) При вводе данних в ячейку      C2   Клиент            - неверно фильтрует (скрывает строки с 4 по 13)
3) При вводе данних в ячейку      D2   Менеджер       -неверно фильтрует  (скрывает строки с 4 по 13)
4) При внесении данных в колонки В4-В59 и подальшей фильтрации в В2 - не фильтрует
Скажите куда смотреть.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:E2")) Is Nothing Then
        On Error Resume Next
        ActiveSheet.ShowAllData
        Range("A3").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
     Exit Sub
   End If
End Sub
 
А почему должен что-то фильтровать, если у Вас нет заголовков столбцов в таблице фильтрации?
Далее, даже если добавите - нужен разрыв между таблицей условий и таблицей фильтрации, иначе ничего фильтровать не будет. А вот пустые строки в таблице фильтрации надо удалить, иначе фильтрация будет происходить исключительно до первого разрыва.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
у меня вот так работает
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:E2")) Is Nothing Then
        On Error Resume Next
        ActiveSheet.ShowAllData
        Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:P2")
   End If
End Sub
 
На счет разрыва не пойму, вот файл работает с ним. (Мне нужны эти разделенные строки).
Изменено: Ян Копко - 12.01.2021 13:10:28
 
не фильтрует потому что имеет мало общего с фильтром
а пустая строка в строках условий фильтрации - это отбор ВСЕХ значений из исходной таблицы
это строка, которая кричит фильтру - ПОДХОДИТ ВСЕ! и в ответ фильтр вываливает все
Изменено: Ігор Гончаренко - 12.01.2021 13:14:07
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Благодарю!!! New. на всех файлах етот макрос заработал!!!
Изменено: Ян Копко - 12.01.2021 13:16:42
 
Благодарю. в копилку. Ігор Гончаренко
 
Цитата
Ян Копко написал:
На счет разрыва не пойму
ну это и так видно. Дело в том, что CurrentRegion берет диапазон от указанной ячейки до первой полностью пустой строки и столбца. В Вашем случае это от ячейки "A3" до "F13", т.к. 14-я строка пустая.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Товарищи! А возможно ли дополнить данный макрос, чтобы при поиске в строке условий не нужно было бы каждый раз ставить звездочку вначале слова (чтобы фильтр искал данное слово не только в самом начале ячеек)?
Изменено: Ojster - 25.06.2021 13:57:08
Страницы: 1
Читают тему
Наверх