Filtrar el mismo texto en 3 tablas dinámicas diferentes

Solicito de su apoyo para poder filltrar el mismo texto que provienen de 3 tablas dinámicas diferentes, en donde el factor común es el texto, ejemplo:

1 respuesta

Respuesta
2

Te anexo la macro. Si la tabla dinámica no contiene el color, no realizará filtro sobre esa tabla, esto es porque la tabla debe tener al menos un item mostrado, entonces solamente sobre las tablas que contengan el color.

Cambia en la macro "color" en esta línea, por el nombre de la columna que contiene los colores

For Each dato In td.PivotFields("color").PivotItems


Sub Macro2()
'Por Dante Amor
    'Filtra las tablas de una hoja
    '
    Dim td As PivotTable
    wcolor = Range("E2").Value
    Application.ScreenUpdating = False
    For Each td In ActiveSheet.PivotTables
        td.ClearAllFilters
        Set b = ActiveSheet.Range(td.TableRange1.Address).Find(wcolor, lookat:=xlWhole)
        If Not b Is Nothing Then
            For Each dato In td.PivotFields("color").PivotItems
                If dato.Value <> wcolor Then dato.Visible = False
            Next
        End If
    Next
    Application.ScreenUpdating = True
End Sub

.

.

La respuesta funciona de maravilla con los colores, pero mi error fue poner colores como ejemplo, lo real son números y no se como ajustarla para números

Utiliza la siguiente macro, funciona para textos o números

Sub Macro2()
'Por Dante Amor
    'Filtra las tablas de una hoja
    '
    Dim td As PivotTable
    wcolor = Range("E2").Value
    Application.ScreenUpdating = False
    For Each td In ActiveSheet.PivotTables
        td.ClearAllFilters
        Set b = ActiveSheet.Range(td.TableRange1.Address).Find(wcolor, lookat:=xlWhole)
        If Not b Is Nothing Then
            For Each dato In td.PivotFields("color").PivotItems
                wdato = IIf(IsNumeric(dato.Value), Val(dato.Value), dato.Value)
                If wdato <> wcolor Then dato.Visible = False
            Next
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas