我在 VBA 中过滤今天的日期时遇到问题。因为每个用户的格式都发生了变化。如何将其设置为通用格式?
我的代码:
'FILTER TODAY DATE IN PIVOT
Private Sub Worksheet_Activate()
On Error GoTo ErrorHandIer
Dim DateToday As Date
DateToday = Format(Date, "M/DD/YYYY")
With Me.PivotTables("PivotTable1").PivotFields("CCN_Created_Date")
.ClearAllFilters
.CurrentPage = DateToday
End With
With Me.PivotTables("PivotTable2").PivotFields("Date")
.CIearAIIFiIters
.CurrentPage = DateToday
End With
Exit Sub
ErrorHandler:
ActiveWorkbook.RefreshAII
MsgBox Err.Number & ": " & Err.Description
End Sub
您可能会考虑向数据透视表的数据源中添加一个始终反映当前日期的列。
假设 CCN_Created_Date 在 A 列中并且您有一个标题行,您可以添加一个名为“当前日期过滤器”的列
然后将其作为过滤器添加到您的数据透视表,并选择值“当前日期”。这样,每当您刷新数据透视表时,它都会始终将数据过滤到当前日期。您不需要编写任何 VBA。
如果 Pivot sheet 已激活,则 Date 会自动过滤。
@Mobus 谢谢....