Usuario
Como filtrar resultados de una tabla dinámica con los resultados de otras

Pregunta
-
Hola a todos,
Me gustaria saber como puedo filtrar dos tablas dinámicas con los resultados de otra (no es un único resultado, son varios y son fechas y horas). He visto que lo hacen con VB.
Muchas gracias por la ayuda.
Alex.
- Editado AlejoTw jueves, 21 de abril de 2016 16:56
Todas las respuestas
-
Danos una pista. ¿A que te refieres?
Supongo que te refieres a obtener ciertos datos de registros de una tabla relacionados con otra pero no se que tipo de relación ni que estructura.
Que las tablas sean dinámicas o estáticas no influye salvo que quieras que se actualice la información de forma automática cada cierto tiempo. Para eso puede usar un timer que vaya refrescando los resultados.
Saludos, Javier J
-
No puedo adjuntar un archivo para darte más detalles, pero en un sitio web donde encontré este código, pero sale un error de sintaxis en esta parte .
For Each PI In .PivotItems PI.Visible = WorksheetFunction.CountIf(Range("b:b"), PI.Name) > 0
Acá la referencia, en la primera línea está el sitio donde lo encontré.
'http://excelpivots.com/pivot/filter-pivot-table-vba/ Sub Pivot_Filter() 'Filter Pivot Table vba Macro 'Written by Dr Moxie with much assistance from: 'Andrew Poulson http://www.mrexcel.com/forum/excel-questions/745196-filter-pivot-table-based-upon-list-using-visual-basic-applications.html 'and 'http://stackoverflow.com/questions/11468705/unable-to-set-the-visible-property-of-the-pivotitem-class-vba Application.ScreenUpdating = False Dim PI As PivotItem With Worksheets("Summary").PivotTables("PivotTable2").PivotFields("OrgUnit Code:") .ClearAllFilters 'Refreshing pivot table seems to remove the "set visible property" error Worksheets("Summary").PivotTables("PivotTable2").RefreshTable For Each PI In .PivotItems PI.Visible = WorksheetFunction.CountIf(Range("b:b"), PI.Name) > 0 Next PI End With Worksheets("Summary").PivotTables("PivotTable1").RefreshTable End Sub
Mil gracias de antemano por tu respuesta.
Saludos. Alex.
-
Encontre este otro codigo, pero lo hace sobre una única celda y lo que necesito es que lo haga sobre un rango de datos que puede variar, incluyo también el sitio web.
Mil gracias si alguien sabe como puedo hacerlo.https://exceltotal.com/filtrar-tabla-dinamica-segun-valor-de-celda/
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("F1")) Is Nothing Then 'En base al campo Region de la Tabla dinámica1: With PivotTables("Tabla dinámica1").PivotFields("Region") 'Limpiar todos los filtros .ClearAllFilters 'Filtrar por el valor de la celda F1 On Error Resume Next .CurrentPage = Range("F1").Value End With End If End Sub