Фильтрация объединенных ячеек
Так вот ежели написать команду таким образом
Selection.AutoFilter Field:=2, Criteria1:="*" + cf + "*"
то фильтруется правильно, но поскольку вторая из объединенных строк пустая, на экране высота нужной строки уменьшается в половину и вся красота идет на смарку.
Ежели добавить так
Selection.AutoFilter Field:=2, Criteria1:="=", _
Operator:=xlOr, Criteria2:="*" + cf + "*"
тогда в фильтр попадают не нужные строки, поскольку там вторая из объединенных строк пустая, а нужная строка показывается так как надо.
Вопрос: как обхитрить машину, чтобы и овцы были целы, и волки - сыты?
Посмотрите
Эдак можно просто добавить колонку параллельно, той по которой
надо будет фильтровать, но уже без объединения ячеек. Т.Е.
одной исходной ячейке будет соответствовать N-ячеек дополнительных
ячеек-строк. Значения во всех дополнительных ячейках надо сделать одинаковым со значением (даже при ручном вводе данных это легко с применением функции Worksheet_Change(), не говоря уже об автоматическом заполнении). Потом эту колонку дополнительных ячеек надо подставить под автофильтр вместо колонки с исходной информацией, ну и фильтруй себе на доброе здоровье... Единственная проблема может быть с тем чтобы скрыть отображение дополнительной колонки. Я попробовал в указаном примере скрыть колонку "B" перед этим установив автофильтр на все колонки - фильтр перестал работать от руки :-( ибо кнопка автофильтра по колонке "B" скрылась вместе с колонкой, а фильтр по колонке "A" (как следует из топика) и не должен был сработать...
А на автомате не проверял, может и сработает, если фильтровать не по "A", а все-таки по "B"
Цитата:
Решение, на которое указывает pashulka - черечур мудреное... © Serzh 02/11/2006
Во-первых, там наличествует два решения, а во-вторых, они оба достаточно простые.
Цитата:
Эдак можно просто добавить колонку параллельно, той по которой
надо будет фильтровать, но уже без объединения ячеек. Т.Е.
одной исходной ячейке будет соответствовать N-ячеек дополнительных
ячеек-строк. © Serzh 02/11/2006
надо будет фильтровать, но уже без объединения ячеек. Т.Е.
одной исходной ячейке будет соответствовать N-ячеек дополнительных
ячеек-строк. © Serzh 02/11/2006
Именно так и реализован первый вариант (просто добавлены некоторые нюансы, которые к описанному алгоритму не имеют отношения) и каждый сможет в этом убедиться воочию, если воспользуется опубликованной ссылкой.