Какой самый быстрый способ удалить все фильтры которые были применены к листу excel
Кажется, старые макросы не работают. У меня есть правильный securtiy для запуска макросов VBA, но когда я попробовал несколько методов очистки ВСЕХ фильтров на листе, я получаю ошибку компиляции.
Вот что я пробовал:
У меня есть кнопки на листах, чтобы очистить все фильтры для удобства использования для пользователей, поскольку в листах есть много столбцов, на которых есть фильтры.
ОТВЕТЫ
Ответ 1
Если на листе уже есть фильтр, то:
Ответ 2
Ответ 3
ShowAllData выдает ошибку, если фильтр в настоящее время не применяется. Это будет работать:
Ответ 4
Для таблиц попробуйте это проверить, включено ли и выключено:
Ответ 5
это работает хорошо.!
Ответ 6
Я нашел, что это обходное решение работает довольно эффективно. Он в основном удаляет автофильтр из таблицы, а затем повторно применяет его, тем самым удаляя все предыдущие фильтры. По моему опыту, это не связано с обработкой ошибок, требуемой с помощью других методов, упомянутых здесь.
Ответ 7
Это блестящий, единственный ответ, который я нашел, который удовлетворил мою особую потребность, большое спасибо за то, что подняли его!
Я сделал небольшое дополнение, чтобы экран не мигал, и он удаляет, а затем повторно применяет пароль на каждом листе при циклическом переходе [У меня один и тот же пароль для всех листов в книге]. В духе вашего представления, я добавляю это, чтобы помочь кому-то еще.
Я знаю, что это довольно старая статья, и мне не очень нравится быть некромантом. Но, поскольку у меня возникла та же проблема, и я безуспешно попробовал несколько вариантов в этой теме, я объединил некоторые ответы, чтобы получить рабочий макрос..
Надеюсь, это поможет кому-то там :)
Ответ 8
Это тоже будет работать:
Ответ 9
Я обычно использую этот код
Ответ 10
В Excel есть два типа фильтров:
Функция Auto Filter позволяет вам фильтровать из интерфейса Excel, используя эти крошечные выпадающие кнопки. А функция расширенного фильтра позволяет фильтровать с использованием диапазона критериев.
Метод ShowAll удаляет фильтры, как и в, показывает все строки, но не избавляется от этих кнопок. Чтобы удалить эти кнопки, необходимо установить для свойства AutoFilterMode рабочей таблицы значение FALSE.
Вот Sub, который я часто использую для удаления фильтров:
Это показывает все данные и удаляет выпадающие кнопки. Это удобно при укладке (копировании и вставке) данных из нескольких листов или рабочих книг. Надеюсь это поможет.
Ответ 11
Сначала будет проверяться, установлен ли AutoFilterMode (возможна фильтрация), затем проверьте, включен ли FilterMode (вы что-то фильтруете), затем отключите фильтрацию.
Относительно ошибок, т.е. защиты - другие ответы
Добавлен контекст (мой script перебирает листы, которые затем сохраняются как CSV, поэтому необходимо удалить фильтры - но включите AutoFilterMode, если установлено:
Ответ 12
Попробуйте что-то вроде этого:
.FilterMode возвращает true, если рабочий лист находится в режиме фильтра. (См. это для получения дополнительной информации.)
См. это для получения дополнительной информации о .AutoFilter .
И, наконец, this предоставит больше информации о методе .ShowAllData .
Ответ 13
Здесь используется однострочный вкладыш. Он проверяет автофильтр и, если найден, удаляет его.
Ответ 14
Просто активируйте заголовки фильтров и запустите showalldata, работайте на 100%. Что-то вроде:
Если у вас есть заголовки полей в A1: Z1 и R1: Y1 соответственно.
Ответ 15
Im используя .filtermode , если фильтр включен, он возвращает true
Ответ 16
Этот код очищает все фильтры и удаляет сортировку.
Ответ 17
Вот какой код для фиксации фильтров. Например, если вы включите фильтры в своем листе, вы добавите столбец, затем вы хотите, чтобы новый столбец также был покрыт фильтром.
Ответ 18
Мы можем подать конкретный рабочий лист на этот макрос, который будет отфильтровывать только один рабочий лист. Полезно, если вам нужно убедиться, что только один рабочий лист ясен. Тем не менее, я обычно хочу сделать всю книгу
Вы можете использовать это, например, открыв книгу, с которой вам нужно иметь дело и сбросить свои фильтры, прежде чем что-либо делать с ней:
Тот, который я использую больше всего: Сброс всех фильтров в книге, в которой хранится модуль:
Ответ 19
Все, что тебе нужно:
Зачем? Как и лист, AutoFilter также имеет метод ShowAllData, но он не выдает ошибку, даже если автофильтр включен без активного фильтра.
Ответ 20
Это будет сброшено, только если у вас есть фильтр, и не вызовет никаких ошибок, когда нет никакого фильтра. Если ActiveSheet.AutoFilterMode, то ActiveSheet.Columns("A"). Автофильтр
Ответ 21
Это работает лучше всего для меня.
Я обычно использую следующее, прежде чем сохранить и закрыть файлы.
Ответ 22
Я использую этот подход для нескольких таблиц и диапазонов как уникальный способ.
Читайте также: