Para borrar todos los filtros en VBA, debe realizar los siguientes pasos:
- Insertar datos en una hoja
- Haga clic en los datos y use Ctrl + T para crear una tabla
Borre todos los filtros de la tabla activa
Haga clic dentro de una tabla y abra el Editor de VBA (Alt + F11).
Introduzca y ejecute el siguiente código.
Sub RemoveFiltersFromTable() ActiveSheet.ShowAllDataEnd Sub
Si una celda activa está fuera de la tabla, devolverá un error.
Borrar todos los filtros en la hoja de cálculo
En nuestro ejemplo, hay dos tablas: Tabla1 y Tabla2. Cada uno de ellos ha aplicado filtros.
Para comprobar el nombre de una tabla, vaya a Diseño > > Propiedades >> Nombre de la tabla.
Puede usar el código VBA anterior, hacer clic en cada una de las tablas y ejecutar el código. Pero esta vez vamos a crear un código que borrará todos los filtros de todas las tablas de la hoja de trabajo.
Para borrar el filtro dentro de cada tabla en una hoja de cálculo, primero debe recorrer todas ellas. Utilice el siguiente código.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects MsgBox myTable Next myTableEnd Sub
Devolverá dos ventanas de mensajes con los nombres de la tabla.
En lugar de un mensaje, vamos a crear un código que borre los filtros de cada tabla. Para hacer esto, simplemente cambie MsgBox MyTable a MyTable.Autofiltro.Mostrar todos los datos.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableEnd Sub
La nueva línea verificará cada tabla y mostrará todos los datos, en otras palabras, eliminará todos los filtros.
Borrar todo el filtro en el libro de trabajo
Para hacerlo para todas las tablas dentro del libro de trabajo, debe agregar un bucle adicional que recorrerá todas las tablas de cada hoja y borrar filtros.
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
Hoja de cálculo y Python entusiasta.