我在工作表上有一个包含Date列的表。我在新工作表上创建了一个数据透视表/图表。我希望能够过滤最近14天显示的图表中的数据(始终相对于当前日期)。
我遇到与此用户相同的问题:filtering an Excel pivot table to show the last 24 hours data
除非我无法在源数据中添加列,我需要在14天而不是24小时内完成。必须有内置方式来执行此操作,还是可以在VBA中执行此操作?
由于
答案 0 :(得分:2)
您可以按日期过滤,当然,如果没有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 Sub