Ein bekanntes Problem im Zusammenhang mit PivotTables ist die Tatsache, dass Einträge die aus der Quelldatei für die PivotTable gelöscht wurden, weiterhin im Auswahlfeld der PivotTable vorhanden sind und nicht automatisch entfernt werden.
Dieses Verhalten ist bereits seit Excel 97 bekannt, siehe auch diesen Microsoft-Artikel.
Das Problem kann aber mit einem VBA-Makro beseitigt werden. Erfassen Sie dazu den folgenden VBA-Code in einem Code-Modul:
Sub DeleteOldPivotItemsWB()
'** Löschen von nicht mehr vorhandenen Listeneinträgen in Pivot-Tabellen MSKB (Q202232)
Dim wS As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
'** Errorhandling
On Error Resume Next
For Each wS In ActiveWorkbook.Worksheets
For Each pt In wS.PivotTables
pt.RefreshTable
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
If pi.RecordCount = 0 And _
Not pi.IsCalculated Then
pi.Delete
End If
Next
Next
Next
Next
'Hier für Excel ab 2002
For Each wS In ActiveWorkbook.Worksheets
For Each pt In wS.PivotTables
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next pt
Next wS
End Sub
Der Code stammt aus der Feder von Thomas Ramel.
Ab Excel 2007 steht eine Option zur Verfügung, über die man bestimmen kann, welche Elemente im Pivot-Table Filter angezeigt werden sollen. Um gelöschte Elemente im Filter auszublenden stellen Sie einfach unter PivotTable-Optionen die Option "Anzahl der pro Feld beizubehaltenden Elemente:" auf "keine", siehe Screenshot.
Die Idee zu dem Beitrag kommt aus einer Frage im Forum Office-Fragen.