- Изключете автофилтъра в активния работен лист във VBA
- Включете автофилтъра в активния работен лист във VBA
- Изключете автофилтъра във всички работни листове във VBA.
- Изключете автофилтъра във всички работни листове във VBA.
- Изчистете всички филтри в активния работен лист във VBA
- Изчистете всички филтри във всички работни листове във VBA
- Изчистете всички филтри в таблица във VBA
Този урок ще покаже как да изключите /изчистите автофилтрите във VBA.
Автофилтрите могат да се включват или изключват с помощта на VBA код.
Изключете автофилтъра в активния работен лист във VBA
Следният пример за код изключва автофилтъра в активния лист, като първо проверява дали вече не е изключен.
12345 | Публичен под KillFilter ()Ако ActiveSheet.AutoFilterMode ТогаваActiveSheet.AutoFilterMode = FalseКрай АкоEnd Sub |
Включете автофилтъра в активния работен лист във VBA
Следният пример за код включва Автофилтър в активния лист, като първо проверява дали вече не е включен.
12345 | Public Sub StartFilter ()Ако не е ActiveSheet.AutoFilterMode ТогаваActiveSheet.Range ("A1"). АвтофилтърКрай АкоEnd Sub |
Изключете автофилтъра във всички работни листове във VBA.
Следният пример за код преминава през всеки лист в цялата работна книга и изключва автофилтъра във всеки работен лист, като първо проверява дали филтърът в текущата работна книга вече не е включен.
12345678 | Public Sub StopAllFilters ()Затъмнете като работен листЗа всеки ws в ActiveWorkbook.WorksheetsАко ws.AutoFilterMode = Вярно Тогаваws.AutoFilterMode = FalseКрай АкоСледващата wsEnd Sub |
Изключете автофилтъра във всички работни листове във VBA.
По подобен начин следният пример за код преминава през цялата работна книга и включва Автофилтър на всеки лист, като първо проверява дали филтърът в текущата работна книга още не е включен.
12345678 | Public Sub StartAllFilters ()Затъмнете като работен листЗа всеки ws в ActiveWorkbook.WorksheetsАко не ws.AutoFilterMode Тогаваws.Range ("A1"). АвтофилтърКрай АкоСледващата wsEnd Sub |
Изчистете всички филтри в активния работен лист във VBA
Следният пример за код оставя автофилтъра включен в активния лист, но изчиства всеки филтър, който се прилага към данните.
12345 | Public Sub ClearFilter ()Ако ActiveSheet.FilterMode = True ТогаваActiveSheet.ShowAllDataКрай АкоEnd Sub |
Изчистете всички филтри във всички работни листове във VBA
По подобен начин следният пример за код преминава през цялата работна книга и оставя автофилтъра включен във всеки лист, ако вече е включен, но изчиства всеки филтър, който се прилага към данните.
12345678 | Public Sub ClearAllFilters ()Затъмнете като работен листЗа всеки ws в ActiveWorkbook.WorksheetsАко ws.FilterMode = Вярно, тогаваws.ShowAllDataКрай АкоСледващата wsEnd Sub |
Изчистете всички филтри в таблица във VBA
Ако нашият работен лист съдържа обект на таблица, можем да коригираме кода, така че просто да изчисти всеки филтър, който е приложен към този филтър, като оставим автофилтъра включен.
123456789 | Sub ClearFilterFromTable ()Затъмнете като работен листDim sTable As StringЗатъмнете таблицата като ListObjectsTable = "Таблица1"Задайте ws = ActiveSheetЗадайте loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataEnd Sub |
Ако обектът на таблицата е свързан с обобщена таблица, тогава обобщената таблица ще се опресни съответно.