Hallo Experten,
ich hab gerade ein Problem.
Und zwar wird bei einer Pivottabelle im Datensatz ein Wert gelöscht.
Nun wird die Pivottabelle aktualisert… Alles wunderbar - der gelöschte Datensatz ist weg…
Nun wird aber im Dropdown für die Filterung immernoch dieser Wert angezeigt!
Wie bekommt man den denn nun weg - ohne eine neue Tabelle erstellen zu müssen? *grübel*
Vielen Dank!
Munich
Grüezi Munich
Und zwar wird bei einer Pivottabelle im Datensatz ein Wert
gelöscht.
Nun wird die Pivottabelle aktualisert… Alles wunderbar - der
gelöschte Datensatz ist weg…
Nun wird aber im Dropdown für die Filterung immernoch dieser
Wert angezeigt!
Wie bekommt man den denn nun weg - ohne eine neue Tabelle
erstellen zu müssen?
Die ‚alten‘ Pivot-Items werden nach Wegfallen aus der Datenquelle nicht automatisch gelöscht, sondern sind in den DropDowns nach wie vor enthalten. Dazu gibt es auch einen Artikel in der MS-KB.
Lass die folgenden VBA-Zeilen laufen; sie entfernen nicht mehr vorhandene Items aus den DropDowns:
Sub DeleteOldPivotItemsWB()
'löschen von nicht mehr verwendeten Einträgen in Pivot-Tabellen
'basierend auf MSKB (Q202232)
Dim wS As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
On Error Resume Next
For Each wS In ActiveWorkbook.Worksheets
For Each pt In wS.PivotTables
pt.RefreshTable
pt.ManualUpdate = True
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
pt.ManualUpdate = False
Next
Next
'Oder als Alternative ab xl2002 soll auch folgendes klappen
'For Each wS In ActiveWorkbook.Worksheets
' For Each pt In wS.PivotTables
' pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
' Next pt
'Next wS
End Sub