Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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在excel 2010 pivot中筛选最近3个月的数据_Vba_Excel_Pivot Table - Fatal编程技术网

使用VBA在excel 2010 pivot中筛选最近3个月的数据

使用VBA在excel 2010 pivot中筛选最近3个月的数据,vba,excel,pivot-table,Vba,Excel,Pivot Table,有几个Excel源(xxx;yyy;zzz;…),都是相同格式的,都很大,大约有200.000行。我需要创建一个单独的统计数据文件,为所有源文件创建一个工作表,在每个工作表上创建相同的统计数据,在每个工作表上创建几个轴。源文件每周都在增长 我可以使我的宏更新轴的源。我需要的枢轴显示过去3个月只 我可以向源文件中添加一列,但这些文件由不同的代理使用,并且该列可能会被他们取消,因此我的pivot将不再显示最近3个月的数据 我需要宏在不接触源文件的情况下过滤过去3个月的轴。我也不想复制statisti

有几个Excel源(xxx;yyy;zzz;…),都是相同格式的,都很大,大约有200.000行。我需要创建一个单独的统计数据文件,为所有源文件创建一个工作表,在每个工作表上创建相同的统计数据,在每个工作表上创建几个轴。源文件每周都在增长

我可以使我的宏更新轴的源。我需要的枢轴显示过去3个月只

我可以向源文件中添加一列,但这些文件由不同的代理使用,并且该列可能会被他们取消,因此我的pivot将不再显示最近3个月的数据

我需要宏在不接触源文件的情况下过滤过去3个月的轴。我也不想复制statistics文件中的源代码,因为这样会变得太大

我已经找到了一个解决方案,可以在pivot中使用宏在日期之间进行过滤,但它是在2个固定日期之间进行过滤,而不是在最后3个月

Sub PivotTableFilter()
 Dim PvtTbl As PivotTable

 Set PvtTbl = Worksheets("Sheet12").PivotTables("PivotTable1")
'delete all filters currently applied to the PivotTable, using the PivotTable.ClearAllFilters Method
 PvtTbl.ClearAllFilters
 PvtTbl.PivotFields("Dates").PivotFilters.Add Type:=xlDateBetween, Value1:="4/28/2009", Value2:="5/20/2009"
End Sub

我试图在今天和今天-90天内替换它,但它不起作用(而且我不想删除所有过滤器,我想保留其他过滤器)。

我尝试了以下建议(pivot在Sheet1上,这次只使用了一个pivot),但它不正常:(出了什么问题

子数据透视表筛选器_3个月() 作为数据透视表的Dim PvtTbl

设置PvtTbl=工作表(“表1”)。数据透视表(“数据透视表1”)

PvtTbl.PivotFields(日期序列(年(日期)、月(日期)-3、日(日期)))

端接头


谢谢!

从长远来看,这应该迁移到数据库中