Ошибка выполнения 1004 при применении фильтра сводной таблицы - PullRequest
0 голосов
/ 20 марта 2019

Я получаю ошибку времени выполнения '1004': ошибка приложения или объекта при выполнении этого фрагмента кода:

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

Dim wb As Workbook
Dim ws As Worksheet

Set wb = ThisWorkbook
Set ws = wb.Sheets("Dashboard")
Application.ScreenUpdating = False

If wb.SlicerCaches("Slicer_Inspection_Status").SlicerItems("In Queue").Selected = True Then
    ws.PivotTables("IN_QUEUE_PIVOT").PivotFields("LAST UPDATE").ClearAllFilters
ElseIf wb.SlicerCaches("Slicer_Inspection_Status").SlicerItems("In Queue").Selected = False Then
    ws.PivotTables("IN_QUEUE_PIVOT").PivotFields("LAST UPDATE").ClearAllFilters
    ws.PivotTables("IN_QUEUE_PIVOT").PivotFields("LAST UPDATE").PivotFilters.Add2 Type:=xlDateToday
End If

Application.ScreenUpdating = True
End Sub

Это строка ошибки:

ws.PivotTables("IN_QUEUE_PIVOT").PivotFields("LAST UPDATE").PivotFilters.Add2 Type:=xlDateToday

Странно то, что фильтр применяется даже при появлении сообщения об ошибке, и, если я добавлю оператор "On Error Resume Next", все будет работать нормально.

«ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ» находится в разделе «Строки» моей сводной таблицы, а моя сводная таблица полностью состоит из строк, без фильтров, столбцов или значений.

Редактировать: я запускаю Excel2016 на Windows 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...