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.