Filtro múltiple en tabla dinámica

A continuación os dejo mi duda. Tengo una tabla dinámica sobre la que quiero hacer filtros a nivel de tabla. Dichos filtros dependen de una celda que está en otra página donde se elige un valor de una lista. Hasta aquí todo bien. El problema lo tengo porque necesito que cuando se seleccione el valor "No asignado" de la lista el filtro sobre la tabla se haga sobre varios valores y cuando se seleccione en la celda "Nombre 1"o "Nombre 2" el filtro en la tabla se haga por este Nombre 1 o 2 según corresponda.

Me gustaría hacerlo con VBA aunque aun me considero muy principiante

1 Respuesta

Respuesta
1

Ya he conseguido responderlo a través de otro hilo. Os dejo el código que he utilizado:

Sub Filtro_gestor_SCT()
'Filtrar tabla dinámica según valor de celda
Dim celltxt As String

'Aquí indico cual es la celda sobre la que tiene que coger un valor (la celda con la lista de valores)

celltxt = ActiveSheet.Range("D13").Text

'Le asigno el valor que voy a elegir en la lista en este caso No asignado
If InStr(1, celltxt, "No asignado") Then

Sheets("Sheet1").Select
'Este valor me tiene que devolver en una tabla dinámica con multifiltro a nivel de página todos los valores menos los que sindican más abajo
ActiveSheet.PivotTables("PivotTable1").PivotFields("Gestor").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Gestor")
.PivotItems("Nombre1").Visible = False
.PivotItems("Nombre2").Visible = False
End With

'En caso de que el valor elegido en la lista de valores sea diferente a "No asignado" me deberá filtrar por el valor elegido en la lista (más abajo identificado como "m")

Else
m = Range("Gestores!d13")
Sheets("Sheet1").Select
Range("B2").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Gestor").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Gestor").CurrentPage = m

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas