Pro úplnost - programově takto
Public Function NonOlapPTDeleteMissingItems(ByRef objWBook As Workbook) As Boolean
Dim objPivotCache As PivotCache
Dim objPivotTable As PivotTable
Dim objWSheet As Worksheet
Dim strMsg As String
Dim strTitle As String
'Zachytit všechny neočekávané chyby za běhu
On Error GoTo ErrorHandler: Err.Clear
'Titulek do dialogu
strTitle = "NonOlapPTDeleteMissingItems"
'Vypnout aktulizaci obrazovky
Application.ScreenUpdating = False
'Odstranit chybějící položky ve filtrech PT
For Each objWSheet In objWBook.Worksheets
For Each objPivotTable In objWSheet.PivotTables
objPivotTable.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next objPivotTable
Next objWSheet
'Aktualizovat mezipaměť PT
For Each objPivotCache In objWBook.PivotCaches
objPivotCache.Refresh
Next objPivotCache
'Funkce může vrátit true, vše proběhlo v pořádku
NonOlapPTDeleteMissingItems = True
Finally:
'Obnovit aktulizaci obrazovky
Application.ScreenUpdating = True
Exit Function
ErrorHandler:
'Zobrazit původní hlášení
strMsg = "VB Error # " & Str(Err.Number)
strMsg = strMsg & vbCrLf & "Generated by " & Err.Source
strMsg = strMsg & vbCrLf & "Description " & Err.Description & vbCrLf
MsgBox Prompt:=strMsg, Buttons:=vbCritical + vbOKOnly, Title:=strTitle
On Error GoTo 0
GoTo Finally
End Function
citovat