Чому не працює відображення критеріїв автофильтра через призначену для користувача функцію при його

  • макроси
  • Visual Basic
  • Excel

Є таблиця з Автофільтри.
Є VBA код функції, яка, будучи "нацькував" на осередок шпальти, показує умови відбору автофильтра, якщо відбір включений: j-walk.com/ss/excel/usertips/tip044.htm

Це зручно, тому що відразу видно, піддається таблиця фільтрації, і якщо так - то за яким критерієм і колонки. На скріншоті нижче видно, що стовпець J відфільтрований по фільтру "не дорівнює нулю":

Однак працює ця функція дивно:
- якщо ввести фільтр вручну, то вищеописана функція його показує
- якщо фільтр застосовується за допомогою vba, можливі варіанти:
-- Якщо фільтр застосовується командою

(Це фільтр "за значенням поточної осередки"), то функція FilterCriteria також відображає його.
-- Якщо фільтр застосовується через .AutoFilter, наприклад,

то функція, хоча і повинна відображати "<>0 ", так само, як і на скріншоті вище, нічого не відображає.

Питання: як зробити так, щоб для користувача функція FilterCriteria відображала критерії фільтрів, застосованих з vba, завжди (неважливо, чи досягається це модифікацією функції, або модифікацією коду, який застосовує фільтр).

Схожі статті