- Išjunkite automatinį filtrą VBA aktyviame darbalapyje
- Įjunkite automatinį filtrą VBA aktyviame darbalapyje
- Išjunkite automatinį filtrą visuose VBA darbalapiuose.
- Išjunkite automatinį filtrą visuose VBA darbalapiuose.
- Išvalykite visus filtrus VBA aktyviame darbalapyje
- Išvalyti visus filtrus visuose VBA darbalapiuose
- Išvalykite visus filtrus lentelėje VBA
Ši pamoka parodys, kaip išjungti /išvalyti automatinius filtrus VBA.
Automatinius filtrus galima įjungti arba išjungti naudojant VBA kodą.
Išjunkite automatinį filtrą VBA aktyviame darbalapyje
Šis kodo pavyzdys išjungia automatinį filtrą aktyviajame lape, pirmiausia patikrindamas, ar jis dar nėra išjungtas.
12345 | Viešas subkillfilter ()Jei ActiveSheet.AutoFilterMode TadaActiveSheet.AutoFilterMode = NetiesaPabaiga JeiPabaiga Sub |
Įjunkite automatinį filtrą VBA aktyviame darbalapyje
Šis kodo pavyzdys įjungia automatinį filtrą aktyviame lape, pirmiausia patikrindamas, ar jis dar neįjungtas.
12345 | Viešas papildomas pradžios filtras ()Jei ne ActiveSheet.AutoFilterMode Tada„ActiveSheet.Range“ („A1“). Automatinis filtrasPabaiga JeiPabaiga Sub |
Išjunkite automatinį filtrą visuose VBA darbalapiuose.
Šis kodo pavyzdys perkelia kiekvieną visos darbaknygės lapą ir išjungia automatinį filtrą kiekviename darbalapyje, pirmiausia patikrindamas, ar dabartinės darbaknygės filtras dar neįjungtas.
12345678 | Viešas „Sub StopAllFilters“ ()Dim ws kaip darbalapisUž kiekvieną ws ActiveWorkbook.WorksheetsJei ws.AutoFilterMode = Tiesa tadaws.AutoFilterMode = NetiesaPabaiga JeiKitas wsPabaiga Sub |
Išjunkite automatinį filtrą visuose VBA darbalapiuose.
Panašiai, šis kodo pavyzdys perkelia visą darbaknygę ir įjungia automatinį filtrą kiekviename lape, pirmiausia patikrindamas, ar dabartinės darbaknygės filtras dar neįjungtas.
12345678 | Public Sub StartAllFilters ()Dim ws kaip darbalapisUž kiekvieną ws ActiveWorkbook.WorksheetsJei ne ws.AutoFilterMode Tadaws.Range („A1“). Automatinis filtrasPabaiga JeiKitas wsPabaiga Sub |
Išvalykite visus filtrus VBA aktyviame darbalapyje
Šis kodo pavyzdys palieka „AutoFilter“ įjungtą „Active Sheet“, bet išvalo visus filtrus, taikomus duomenims.
12345 | Viešas papildomas filtras ()Jei ActiveSheet.FilterMode = Tiesa tadaActiveSheet.ShowAllDataPabaiga JeiPabaiga Sub |
Išvalyti visus filtrus visuose VBA darbalapiuose
Panašiai ir toliau pateiktas kodo pavyzdys perkelia visą darbaknygę ir palieka automatinį filtrą įjungtą kiekviename lape, jei jis jau įjungtas, tačiau išvalo visus filtrus, taikomus duomenims.
12345678 | Public Sub ClearAllFilters ()Dim ws kaip darbalapisUž kiekvieną ws ActiveWorkbook.WorksheetsJei ws.FilterMode = Tiesa tadaws.ShowAllDataPabaiga JeiKitas wsPabaiga Sub |
Išvalykite visus filtrus lentelėje VBA
Jei mūsų darbalapyje yra lentelės objektas, galime pakoreguoti kodą, kad išvalytume bet kokį filtrą, kuris taikomas šiam filtrui, palikdami įjungtą automatinį filtrą.
123456789 | Sub ClearFilterFromTable ()Dim ws kaip darbalapisSumažinti lentelę kaip eilutęSumažinti lentelę kaip „ListObject“sTable = "1 lentelė"Nustatykite ws = ActiveSheetNustatykite loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataPabaiga Sub |
Jei lentelės objektas būtų susietas su „Pivot“ lentele, tada „Pivot“ lentelė būtų atitinkamai atnaujinama.