Gelöschte Elemente aus PivotTable Auswahl entfernen

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.

     sitepanel e mail Anfrage per E-Mail   |   sitepanel telephone 0151 - 164 55 914   |    sitepanel formular  Anfrage per Kontaktformular      |     Excel-Hilfeforum Hilfe-Forum

Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.