我正在尝试编写一个基于位置和产品制作数据透视表的报表。 位置过滤器应该与该工作表上另一个数据透视表的过滤器相同(但是,我不能使用切片器,因为数据集不相同)。 产品过滤器应根据我在一定范围内单击的单元格而改变。
我已经尝试了很多在不同论坛上找到的东西并且已经调整到我的需求,但在我看来问题是我需要一个私有的子SelectionChange才能动态地改变产品。但是,我需要一个PivotTableUpdate私有子用于位置过滤器。一张纸上不能同时使用两张纸吗?那么如何处理这些案件呢? 我用于productfilter的代码是: Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ws As Worksheet
Dim pt As PivotTable
If Target.Column = 13 Then
Range("M2").Value = Target.Value
End If
End Sub
这基本上是将第13列中单击的单元格的值复制到单元格M2,单元格M2是我的可循环过滤器的单元格。另外一个问题是,如果我点击一个没有提供有效过滤条目的单元格,我会收到错误。怎么解决?
感谢您的帮助!
答案 0 :(得分:0)
如果两个pivottables在同一张纸上并且有一个页面过滤器,那么就像将其添加到ThisWorkbook模块一样简单:
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Application.EnableEvents = False
If Target.PageRange.Column <> Sh.PivotTables(1).PageRange.Column Then
Sh.PivotTables(1).PageRange.Cells(1, 2).Value = Target.PageRange.Cells(1, 2).Value
Else
Sh.PivotTables(2).PageRange.Cells(1, 2).Value = Target.PageRange.Cells(1, 2).Value
End If
Application.EnableEvents = True
End Sub