Estoy adaptando una macro para filtrar varias tablas dinámicas según el valor de una celda, conseguí una macro cuyo alcance son todas las tablas de todas las hojas de un libro, mi pregunta es:
¿que cambio debo en la macro para que los filtros solo se hagan en todas las tablas de una hoja en particular y no en todas las tablas del libro (nombre de la hoja que contiene las tablas "Filtros"), esta es la macro.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Hoja As Worksheet
Dim TD As PivotTable
If Not Intersect(Target, Range("B3")) Is Nothing Then
Range("B4:B6").ClearContents
'Recorrer todas las hojas del libro
For Each Hoja In ThisWorkbook.Worksheets
'Recorrer las tablas dinámicas de la hoja
For Each TD In Hoja.PivotTables
'En base al campo AREA de la tabla dinámica:
With TD.PivotFields("AREA")
'Limpiar todos los filtros
.ClearAllFilters
'Filtrar por el valor de la celda B3
On Error Resume Next
.CurrentPage = Range("B3").Value
End With
Next TD
Next
End If
End Sub[/CODE]
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola,
Estoy adaptando una macro para filtrar varias tablas dinámicas según el valor de una celda, conseguí una macro cuyo alcance son todas las tablas de todas las hojas de un libro, mi pregunta es:
¿que cambio debo en la macro para que los filtros solo se hagan en todas las tablas de una hoja en particular y no en todas las tablas del libro (nombre de la hoja que contiene las tablas "Filtros"), esta es la macro.