AW: Pivot Bericht nur Leer - Felder anzeigen
14.01.2009 11:58:46
fcs
Hallo Karsten,
die Sub "NurLeerePivotFeldEintraege(objPT As PivotTable, strPivotFeldName As String)"
ist die die Sub-Routine, die die eigentliche Aktion ausführt.
Die anderen Subs rufen diese mit den Parametern auf.
Du muss also mindestens folgendes in ein Modul bei dir kopieren:
Sub test_Feld_XYZ()
'Alle Einträge außer Leereinträge des Feldes "XYZ" ausblenden
Call NurLeerePivotFeldEintraege(objPT:=ActiveSheet.PivotTables(1), strPivotFeldName:="XYZ")
End Sub
Sub NurLeerePivotFeldEintraege(objPT As PivotTable, strPivotFeldName As String)
'strPivotFeldName = Name des Pivot-Feldes des Leereinträge angezeigt werden sollen
'objPT = Pivottabelle die bearbeitet werden soll
Dim objPF As PivotField
Dim objPI As PivotItem
On Error GoTo Fehler
Set objPF = objPT.PivotFields(strPivotFeldName)
Application.ScreenUpdating = False
For Each objPI In objPF.VisibleItems
If objPI.Name "(Leer)" Then objPI.Visible = False
Next
Fehler:
With Err
If .Number 0 Then
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
End If
End With
Application.ScreenUpdating = True
End Sub
Den Namen des Feldes "XYZ" muss du in der Prozedur "Sub test_Feld_XYZ" entsprechend deiner Pivottabelle anpassen.
Statt "ActiveSheet.PivotTables(1)" kannst du natürlich auch den Tabellennamen in dem die Pivot-Tabelle angelegt ist explizit vorgeben. z.B.:
WorkSheets("Tabelle2").PivotTables(1)
Gruß
Franz