aby wyczyścić wszystkie filtry w VBA, musisz wykonać następujące kroki:
- wstawianie danych do arkusza
- kliknij na dane i użyj Ctrl + T, aby utworzyć tabelę
Wyczyść wszystkie filtry w aktywnej tabeli
kliknij wewnątrz tabeli i otwórz edytor VBA (Alt + F11).
Wprowadź i uruchom następujący kod.
Sub RemoveFiltersFromTable() ActiveSheet.ShowAllDataEnd Sub
jeśli aktywna komórka znajduje się poza tabelą, zwróci błąd.
Wyczyść wszystkie filtry w arkuszu kalkulacyjnym
w naszym przykładzie są dwie tabele: Table1 i Table2. Każdy z nich ma zastosowane filtry.
aby sprawdzić nazwę tabeli, przejdź do strony Projekt >>właściwości >> Nazwa tabeli.
możesz użyć poprzedniego kodu VBA, kliknąć każdą z tabel i uruchomić kod. Ale tym razem stwórzmy kod, który wyczyści wszystkie filtry ze wszystkich tabel w arkuszu.
aby wyczyścić filtr wewnątrz każdej tabeli w arkuszu kalkulacyjnym, najpierw musisz przejrzeć je wszystkie. Użyj poniższego kodu.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects MsgBox myTable Next myTableEnd Sub
zwróci dwa okna komunikatów z nazwami tabeli.
zamiast wiadomości, stwórzmy kod, który usunie filtry z każdej tabeli. Aby to zrobić, wystarczy zmienić MsgBox myTable na myTable.Autofiltr.Pokaż wszystkie dane.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableEnd Sub
nowa linia sprawdzi każdą tabelę i pokaże wszystkie dane, innymi słowy, usunie wszystkie filtry.
Wyczyść wszystkie filtry w skoroszycie
aby to zrobić dla wszystkich tabel wewnątrz skoroszytu, musisz dodać dodatkową pętlę, która przejdzie przez wszystkie tabele w każdym arkuszu i wyczyści filtry.
Sub LoopThroughTablesInsideWorkbook()Dim myTable As ListObjectDim mySheet As WorksheetFor Each mySheet In Worksheets For Each myTable In mySheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableNext mySheetEnd Sub
entuzjasta arkuszy kalkulacyjnych i Pythona.