Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 数据透视表添加";2“;在报告筛选器中设置值的步骤_Vba_Excel - Fatal编程技术网

Vba 数据透视表添加";2“;在报告筛选器中设置值的步骤

Vba 数据透视表添加";2“;在报告筛选器中设置值的步骤,vba,excel,Vba,Excel,我有一个包含透视表的文件,其中过滤器值根据上个月的日期按月更新。用于此的VBA代码: Dim SelectDate As String SelectDate = Worksheets("Raw").Range("A3").Value Worksheets("Main").PivotTables("PivotTable4").PivotFields("Date").CurrentPage = Se

我有一个包含透视表的文件,其中过滤器值根据上个月的日期按月更新。用于此的VBA代码:

Dim SelectDate As String

SelectDate = Worksheets("Raw").Range("A3").Value
Worksheets("Main").PivotTables("PivotTable4").PivotFields("Date").CurrentPage = SelectDate
单元格A3中的值是基于以下函数的字符串:

=A1&&A2
例如:2017年1月

更新数据透视表在几个月内运行良好,但本月我的值不再正确更新,在进行一些调查后,我意识到我的数据透视表在2017年1月和2017年1月的筛选器中创建了两个条目,而2016年11月的数据透视表丢失了:

但是,当我检查基础数据时,每个月只有一个值:

June 2016
February 2016
March 2016
January 2016
November 2016
December 2016
August 2016
May 2016
October 2016
July 2016
September 2016
April 2016
January 2017
February 2017
请注意,当我使用相同的数据创建新的数据透视表时,过滤器仅显示2017年1月

为什么现有数据透视表的筛选器将同时反映2017年1月和2017年1月


谢谢你的帮助

以下是对我有用的东西。这是从我在其他地方读到的,或者是因为我现在添加了数据行,或者是因为我进行了查找和替换。但后来我将pivot表中源数据的区域从say改为

'MASTER (3)'!$A$5:$EQ$600 to 'MASTER (3)'!$A$5:$EQ$6 
然后回到

'MASTER (3)'!$A$5:$EQ$600

这解决了一个非常奇怪的问题。这将很难复制。我知道,这就是为什么我担心我无法解决这个问题。但也许其他人以前有过这个问题,并且能够解决这个问题。您能分享示例数据吗?在全新的工作簿中也会发生这种情况吗?最终删除了数据透视表,并用新的数据透视表替换,现在运行时,它又可以正常工作了。这真的很奇怪。当我更改整个值子集的名称时,我就遇到了这种情况(没有VBA,只是常规的数据透视表生成)。我遵循Inet Kemp的重新分配/重新分配表的源数据的过程,这是有效的。