首页 > 解决方案 > 如何根据单元格值过滤 Excel 数据透视表?

问题描述

我在最后一行有问题。

我想使用单元格 I1 中的单元格值进行自动过滤,这是所有日期的简历Max,所以最后一个日期可用。

Sub Y01PivotTableFilter()
    'filter last date

    'variables
    Dim pt As PivotTable
    Dim DateField As PivotField
    Dim DateValue As String

    'Filter data
    Set pt = Worksheets("OS report").PivotTables("Statut")
    Set DateField = pt.PivotFields("Date")
    DateValue = Worksheets("OS report").Range("I1").Value

    'Update pivot table date
    With pt
        DateField.ClearAllFilters
        DateField.CurrentPage = .DateValue
    End With
End Sub  

我发现我的编码可能有效,但我有日期格式问题。使用另一个自动功能,将日期字段过滤为相等,它将 dd/mm 反转为 mm/dd。我使用法语日期格式,并在 VBA 下用美国日期格式替换,即使我的区域设置是法语 dd/mm/yyyy。

标签: excelvbauitableviewpivotcell

解决方案


Sub Y01PivotTableFilter()

'filter last date

'variables
Dim pt As PivotTable
Dim DateField As PivotField
Dim DateValue As String

'Filter data
Set pt = Worksheets("OS report").PivotTables("Statut")
Set DateField = pt.PivotFields("Date")
DateValue = Worksheets("OS report").Range("I1").Value


'Update pivot table date

DateField.ClearAllFilters
PivotField.CurrentPage = DateValue

End Sub

推荐阅读