根据切片器,数据透视表中的不同列

时间:2014-09-26 19:12:33

标签: excel

是否可以在数据透视表中显示不同的列,具体取决于切片器中的选择?

例如,如果我选择geo:US,那么数据透视表将显示人口数量,如果我选择geo:Italy,它将显示人口数量和密度..

1 个答案:

答案 0 :(得分:0)

不是没有一些广泛的VBA。您必须从包含数据透视表的工作表上的PivotTable_Update操作触发VBA,然后从该切片器的SlicerCache对象中获取Selected的SlicerItems。然后,您可以根据Selected SlicerItems做出决定,然后更改数据透视表的行/列中的内容。

通过VBA获取Selected SlicerItems的快速脏示例:

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
    Dim sc As SlicerCache
    Dim si As SlicerItem

    Set sc = SlicerCaches("Slicer_geo")
    For Each si In sc.SlicerItems
        If si.Selected And si.Name = "US" Then
            'Monkey with the pivot table here
        End If
    Next
End Sub