显示数据透视 table 过滤值

Display pivot table filter values

我有一个枢轴 table,我在其中应用了日期过滤器:

我正在寻找一种在单元格中显示过滤器信息的方法。

例如2015 年 1 月 1 日至 2015 年 10 月 3 日之间

我尝试了以下方法来让它在消息框中显示信息:

Sub DisplayRange()

    With ActiveSheet.PivotTables("OrdersPerSlot").PivotFields("PickDate").PivotFilters(1)
        MsgBox "FilterType: " & .FilterType & vbCr _
         & "Value1: " & .value1 & vbCr _
         & "Value2: " & .value2
    End With

End Sub

我收到以下错误:

接下来,我将代码移至 "ThisWorkBook" 对象中,以防出现引用问题并出现此错误:

我想你需要 VBA 来做这个。通过 运行 宏记录器在添加日期过滤器时我想出了:

Sub GetPivotFilterDates()
Dim pvt As Excel.PivotTable
Dim pvtField As Excel.PivotField

Set pvt = Worksheets(1).PivotTables(1)
Set pvtField = pvt.PivotFields("Date Range")
With pvtField.PivotFilters(1)
    If .FilterType = xlDateBetween Then
        Worksheets(1).Range("A1").Value = "Filter is between " & .Value1 & " and " & .Value2
    End If
End With
End Sub