für einen Anwendungsfall habe ich den unten folgenden VBA verwendet, damit in der Pivot-Tabelle die Werte, die 99% über dem Durchschnitt liegen automatisch ausgeblendet werden. In der Pivot-Tabelle klappt dies auch. Jedoch werden die Werte weiterhin in dem PivotChart dargestellt.
Daher stellt sich die Frage, ob man die Werte auch in dem PivotChart ausblenden kann und wenn ja, wie?
Sub PivotDurchschnittBerechnenUndAusblenden()
On Error GoTo ErrorHandler
Dim pt As PivotTable
Dim pf As PivotField
Dim Durchschnitt As Double
Dim AbweichungOben As Double
' Definieren der PivotTabelle
Set pt = ThisWorkbook.Sheets("SM_M").PivotTables(3)
' Durchlaufen jeder Spalte in der PivotTabelle, beginnend mit Spalte B (Index 2)
For i = 1 To pt.DataFields.Count
' Definieren des PivotFields als die aktuelle Spalte
Set pf = pt.DataFields(i)
' Alle Zeilen einblenden
Rows.Hidden = False
' Berechnen von dem Durchschnitt der aktuellen Spalte, ignorieren der nicht-numerischen Werte
Durchschnitt = Application.WorksheetFunction.AverageIf(pf.DataRange, ">=0")
AbweichungOben = Durchschnitt * 1.99
Debug.Print pf.PivotItems.Count
' Durchlaufen jede Zelle in der aktuellen Spalte
For Each PivotItem In pf.DataRange
' Wenn die Abweichung größer als 99% nach oben ist und die Zeile nicht bereits ausgeblendet ist, soll die Zeile ausgeblendet werden
If AbweichungOben PivotItem And Not PivotItem.EntireRow.Hidden Then
PivotItem.EntireRow.Hidden = True
End If
Next PivotItem
Next i
Exit Sub
' Aktualisieren des Pivot-Diagramms
ThisWorkbook.Sheets("Auswertung_Verbrauch").ChartObjects("Diagramm 5").Chart.Refresh
ErrorHandler:
MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
End Sub