VBA - Ошибка обновления приложения Pivot Table 1004 не определена - PullRequest
0 голосов
/ 15 мая 2018

Я получаю объектную ошибку 1004 при попытке запустить макрос для обновления pviot.Я хочу, чтобы сводная диаграмма и график обновлялись ежедневно, поэтому они всегда показывают последние 30 дней

'pivot filter refresh

Dim DateToday As Date
DateToday = Date
Dim PvtTbl As PivotTable
Set PvtTbl = Worksheets("Sheet1").PivotTables("Pivot1")

PvtTbl.PivotFields("DateAdded").PivotFilters. _
    Add2 Type:=xlDateBetween, Value1:=DateToday - 30, Value2:=DateToday

1 Ответ

0 голосов
/ 15 мая 2018

Мне удалось воспроизвести вашу проблему с одной из моих собственных сводных таблиц.Решение состоит в том, чтобы 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
...