none
Como filtrar resultados de una tabla dinámica con los resultados de otras RRS feed

  • 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
    jueves, 21 de abril de 2016 16:50

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

    jueves, 21 de abril de 2016 16:59
  • 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.

    jueves, 21 de abril de 2016 18:23
  • 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.

    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

    Mil gracias si alguien sabe como puedo hacerlo.

    jueves, 21 de abril de 2016 18:58