是否可以在数据透视表中显示不同的列,具体取决于切片器中的选择?
例如,如果我选择geo:US,那么数据透视表将显示人口数量,如果我选择geo:Italy,它将显示人口数量和密度..
答案 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