【发布时间】:2014-07-27 20:01:28
【问题描述】:
我想要什么:我有两个使用过滤器的不同数据透视表。两者都对日期进行过滤,但具有不同的源数据(其中日期部分重叠)。每当第一个过滤器更改时,我希望第二个过滤器采用与第一个过滤器相同的值(日期)。
我尝试了什么:我尝试了无数在互联网上找到的解决方案,但都没有奏效。最接近工作的人:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Sheets("Daganalyse_tables").PivotTables("PivotTable1").PivotFields("Date").ClearAllFilters
Sheets("Daganalyse_tables").PivotTables("PivotTable1").PivotFields("Date").CurrentPage = Range("D2").Text
End Sub`
其中 D2 是第一个过滤器的位置。这一直给我一个“运行时错误 1004:应用程序定义的或对象定义的错误”。我尝试了很多变体,一直给我错误 1004。
我尝试的第二件事更简单:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Sheets("Daganalyse_tables").Range("F1") = Range("D2")
End Sub
其中 F1 是第二个过滤器的位置。这个告诉我“41667 不是该字段的一个项目”,换句话说,它将日期转换为它的数字。使用 Format() 或输入随机日期作为字符串时,仍然会发生这种情况。
有人知道如何做到这一点吗?它看起来很简单,但 Excel 似乎有问题(在 2013 年和 2010 年尝试过)。提前致谢!
【问题讨论】: