Я получаю ошибку времени выполнения '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.