Мне удалось воспроизвести вашу проблему с одной из моих собственных сводных таблиц.Решение состоит в том, чтобы ClearAllFilters
из этого конкретного поля сводки , прежде чем пытаться применить новый фильтр.
Одна дополнительная проверка, которая может потребоваться (и здесь не показана)), чтобы убедиться, что поле, которое вы фильтруете, действительно отображается перед фильтрацией.
Option Explicit
Sub test()
Dim dateToday As Date
dateToday = Date
Dim pvtTbl As PivotTable
Set pvtTbl = Staffing.PivotTables(1)
Dim ptField As PivotField
Set ptField = pvtTbl.PivotFields("FiscalMonth")
ptField.ClearAllFilters
ptField.PivotFilters.Add2 Type:=xlDateBetween, _
Value1:=dateToday - 30, _
Value2:=dateToday
End Sub