Как удалить фильтр в Excel VBA (5 простых методов)

  • Поделись Этим
Hugh West

Во время работы с Microsoft Excel Фильтрация данных позволяет нам видеть только ту информацию, которая нам нужна. Когда мы хотим сосредоточиться на определенных элементах в большом наборе данных или таблицах, эта техника пригодится. Когда работа закончена, нам нужно вернуть эти данные в нашу электронную таблицу. Хотя Excel уже имеет встроенный инструмент для этого. Но VBA это самый эффективный, экономящий время и безопасный способ выполнения любой задачи в Excel. В этой статье мы рассмотрим несколько примеров удаления фильтра в Excel VBA.

Скачать Практическое пособие

Вы можете скачать рабочую тетрадь и заниматься с ними.

VBA для удаления фильтра.xlsm

5 простых методов удаления фильтра в Excel VBA

Excel имеет встроенные инструменты и функции для удаления фильтров из данных. Но с Excel VBA мы можем быстро удалить эти фильтры, просто выполнив команду VBA Код. Для удаления фильтров из данных мы будем использовать следующий набор данных. Набор данных содержит некоторые идентификаторы продуктов в столбце B , названия продуктов в столбце C , и страна доставки в столбце D Поскольку мы хотим видеть только детали продукта. Шампунь и Кондиционер Теперь, предположим, нам нужно очистить эти отфильтрованные данные. Мы воспользуемся некоторыми из них. Макросы Excel VBA Для этого продемонстрируем примеры, чтобы очистить эти фильтры от данных, используя Excel VBA .

1. Применение VBA для удаления всех фильтров из таблицы Excel

С Excel VBA Пользователи могут легко использовать код, который действует как меню excel на ленте. Чтобы использовать VBA код для удаления всех фильтров из таблицы Excel, давайте выполним следующие шаги.

ШАГИ:

  • Во-первых, зайдите в Разработчик на вкладке ленты.
  • Во-вторых, из Код категорию, нажмите на Visual Basic чтобы открыть Редактор Visual Basic Или нажмите Alt + F11 чтобы открыть Редактор Visual Basic .

  • Вместо этого вы можете просто щелкнуть правой кнопкой мыши на рабочем листе и перейти к пункту Посмотреть код Это также приведет вас к Редактор Visual Basic .

  • Это появится в Редактор Visual Basic где мы напишем наши коды для создания таблицы из диапазона.
  • В-третьих, нажмите на Модуль из Вставка выпадающая строка меню.

  • Это позволит создать Модуль в вашей рабочей тетради.
  • И, скопируйте и вставьте VBA код, показанный ниже.

Код VBA:

 Sub Remove_Filters1() Dim lstObj As ListObject Set lstObj = Sheet1.ListObjects(1) lstObj.AutoFilter.ShowAllData End Sub 
  • После этого запустите код, нажав на кнопку RubSub или нажав комбинацию клавиш F5 .

  • И, наконец, выполнение следующих шагов позволит удалить все фильтры из таблицы excel на рабочем листе.

Объяснение кода VBA

 Sub Remove_Filters1() 

Sub это часть кода, которая используется для обработки работы в коде, но не возвращает никакого значения. Она также известна как подпроцедура. Поэтому мы называем нашу процедуру Remove_Filters1() .

 Dim lstObj As ListObject 

Объявление переменной.

 Set lstObj = Sheet1.ListObjects(1) 

VBA Set просто позволяет нам избежать необходимости вводить диапазон, который нам нужно выбрать, снова и снова при выполнении кода. Итак, мы установили ссылку на первую таблицу на листе.

 lstObj.AutoFilter.ShowAllData 

Эта строка кода удалит все фильтры для всех данных.

 End Sub 

На этом процедура будет завершена.

Читать далее: Как удалить фильтр в Excel (5 простых и быстрых способов)

2. Очистка всех фильтров таблицы Excel на листе с помощью VBA

Рассмотрим еще один пример использования Excel VBA для удаления всех фильтров таблицы excel на листе. Для этого выполните следующие действия.

ШАГИ:

  • Во-первых, перейдите к Разработайте вкладку r на ленте.
  • Во-вторых, нажмите на Visual Basic чтобы открыть Редактор Visual Basic .
  • Другой способ открыть Редактор Visual Basic это просто нажать Alt + F11 .
  • Или щелкните правой кнопкой мыши на листе, затем выберите Посмотреть код .
  • Далее, перейдите к Вставка и выберите Модуль из выпадающего меню.
  • Откроется окно visual basic.
  • После этого скопируйте и вставьте код VBA ниже.

Код VBA:

 Sub Remove_Filters2() Dim lstObj As ListObject For Each lstObj In Sheet2.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj End Sub 
  • Далее нажмите кнопку клавиша F5 или нажмите на Run Sub чтобы запустить код.

  • Этот код очистит все фильтры таблицы excel с вашего листа и выдаст результат вида Метод 1 .

Объяснение кода VBA

 For Each lstObj In Sheet2.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj 

Эти строки кода проходят по всем таблицам на листе и удаляют все фильтры для всего рабочего листа.

Читать далее: Как фильтровать таблицу Excel Pivot Table (8 эффективных способов)

3. удаление фильтра из столбца с помощью VBA в Excel

Рассмотрим еще один способ очистки фильтра из столбца с помощью Excel VBA. Рассмотрим процедуру для этого.

ШАГИ:

  • Чтобы начать, нажмите кнопку Разработчик на вкладке ленты.
  • Во-вторых, запустите Редактор Visual Basic нажав на Visual Basic .
  • В качестве альтернативы вы можете обратиться к Редактор Visual Basic нажав Alt + F11 .
  • Или, щелкните правой кнопкой мыши на листе и выберите Посмотреть код из меню.
  • Далее выберите Модуль из выпадающего списка под Вставка .
  • Появится окно visual basic.
  • Напишите код там.

Код VBA:

 Sub Remove_Filter3() Sheet1.Range("B3:D16").AutoFilter Field:=4 End Sub 
  • Наконец, нажмите кнопку клавиша F5 чтобы запустить код.

  • Использование этого кода позволит удалить фильтр из столбца в таблице excel.

Объяснение кода VBA

 Sheet1.Range("B3:D16").AutoFilter Field:=4 

В этой строке кода указывается только номер поля и никаких других параметров.

Читать далее: Excel VBA для фильтрации в одном столбце по нескольким критериям (6 примеров)

Похожие чтения

  • Excel VBA: Как фильтровать по нескольким критериям в массиве (7 способов)
  • Код VBA для фильтрации данных по дате в Excel (4 примера)
  • Как использовать фильтр в защищенном листе Excel (с помощью простых шагов)
  • Фильтр различных столбцов по нескольким критериям в Excel VBA
  • Код VBA для фильтрации данных в Excel (8 примеров)

4. Очистить все фильтры в активном рабочем листе

Теперь взгляните на другой Excel VBA метод для очистки всех фильтров с активного рабочего листа. Давайте выполним следующие шаги.

ШАГИ:

  • Для начала откройте ленту и выберите пункт Разработчик вариант.
  • Затем, чтобы получить доступ к Редактор Visual Basic , нажмите на Visual Basic .
  • Нажав на Alt + F11 также вызовет Редактор Visual Basic .
  • Альтернативно, щелкните правой кнопкой мыши лист и выберите Посмотреть код из появившегося меню.
  • Теперь из Вставка выпадающий вариант, выберите Модуль .
  • Затем скопируйте и вставьте VBA код, который следует далее.

Код VBA:

 Public Sub RemoveFilter() If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData End If End Sub 
  • Запустите код, нажав кнопку F5 ключ.

  • И, наконец, вы сможете удалить фильтры из ваших данных, используя следующее VBA код, например Метод-1 .

Подробнее: Как фильтровать по списку в другом листе в Excel (2 метода)

5. Excel VBA для удаления всех фильтров из рабочей книги

Давайте изучим еще один r Excel VBA способ удаления всех фильтров из рабочей книги. Итак, давайте рассмотрим шаги ниже.

ШАГИ:

  • Для начала откройте ленту и выберите Разработчик из выпадающего меню.
  • Затем выберите Visual Basic чтобы открыть Редактор Visual Basic .
  • Сайт Редактор Visual Basic можно также получить, нажав кнопку Alt + F11 .
  • В качестве альтернативы вы можете щелкните правой кнопкой мыши лист и выберите Посмотреть код из всплывающего меню.
  • После этого выберите Модуль из Вставка выпадающее меню.
  • Затем скопируйте и вставьте следующий код VBA.

Код VBA:

 Sub Remove_Filters_From_Workbook() Dim shtnam As Worksheet Dim lstObj As ListObject For Each shtnam In Worksheets For Each lstObj In shtnam.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj Next shtnam End Sub 
  • Наконец, запустите код, нажав кнопку F5 на клавиатуре, и вы видите результат в своем рабочем листе.

  • Это VBA код очистит все фильтры из всей рабочей книги, как показано на рисунке первый метод .

Объяснение кода VBA

 For Each shtnam In Worksheets For Each lstObj In shtnam.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj Next shtnam 

Первый цикл предназначен для перебора всех таблиц в рабочей книге. Второй цикл предназначен для перебора всех таблиц на рабочем листе. Затем строка внутри цикла просто очищает фильтр из таблицы. После этого закройте цикл последними двумя строками.

Читать далее: Ярлык для фильтра Excel (3 быстрых способа использования с примерами)

Заключение

Приведенные выше методы помогут вам Удаление фильтра в Excel VBA Если у вас есть какие-либо вопросы, предложения или отзывы, пожалуйста, сообщите нам об этом в разделе комментариев. Вы также можете просмотреть другие наши статьи в разделе ExcelWIKI.com блог!

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.