工作表上有一个包含日期列的表。我在新工作表上创建了一个数据透视表/图表。我希望能够过滤过去14天所显示的图表中的数据(总是相对于当前日期)。
我和这个用户有同样的问题:filtering an Excel pivot table to show the last 24 hours data
但我不能在源数据中添加列,我需要在14天内,而不是24小时内。必须有内置的方式来做到这一点,或者我可以在VBA中做到这一点吗?
谢谢
发布于 2014-03-12 03:28:58
当然,您可以按日期进行筛选,但是如果没有VBA,我认为它必须是手动的。下面是一个VBA例程,将其设置为最后14天,包括今天:
Sub FilterPivotByDate()
Dim pvt As Excel.PivotTable
Dim DaysToShow As Long
Dim DateString As String
Set pvt = ActiveSheet.PivotTables(1)
DaysToShow = 114
DateString = Format(Date - (DaysToShow - 1), "m/d/yyyy")
With pvt.PivotFields("date")
.ClearAllFilters
.PivotFilters.Add Type:=xlAfterOrEqualTo, Value1:=DateString
End With
End Subhttps://stackoverflow.com/questions/22341158
复制相似问题