Microsoft Excel

Herbers Excel/VBA-Archiv

Pivot-Tabelle Currentpage ungleich <>


Betrifft: Pivot-Tabelle Currentpage ungleich <>
von: Friederike
Geschrieben am: 13.12.2018 10:51:51

Hallo
Ich will in einer Pivot-Tabelle filtern. Dies klappt super
varPageWert = "3_40_999_999_99_99"
ActiveSheet.PivotTables("PivTable1").PivotFields("Account").CurrentPage = varPageWert

Jetzt hätte ich gerne, dass alles gezeigt wird AUSSER varPageWert.

GEHT NICHT:
varPageWert = "<> 3_40_999_999_99_99"
ActiveSheet.PivotTables("PivTable1").PivotFields("Account").CurrentPage = varPageWert

  

Betrifft: AW: Pivot-Tabelle Currentpage ungleich <>
von: fcs
Geschrieben am: 14.12.2018 21:53:22

Hallo Frederieke,

es ist leider nicht so einfach den Filter bei Seitenfeldern anzupasen.
Hier müssen zunächst alle Items sichtbar geschaltet werden, dann kann man ausblenden.

LG
Franz

Sub prcPivotTab_Pagefield()
    Dim pvTab As PivotTable, pvField As pivotField, strItemName As String
    
    Set pvTab = ActiveSheet.PivotTables(1) 'oder ActiveSheet.PivotTables("PivTable1")
    pvTab.RefreshTable
    Set pvField = pvTab.PivotFields("Account")
    If pvField.EnableMultiplePageItems = False Then _
        pvField.EnableMultiplePageItems = True
    
    Call prcShow_All_Page_Items(pvField)
    
    On Error Resume Next 'dadurch werden ggf. Items ohne Daten übersprungen
        
    strItemName = "3_40_999_999_99_99"
    pvField.PivotItems(strItemName).Visible = False
    
End Sub

Sub prcShow_All_Page_Items(pivotField As pivotField)
    'Pivot-Tabelle: Alle Items eines Pagefields anzeigen
    Dim pvItem As PivotItem
    On Error Resume Next 'dadurch werden Alt-Items ohne Daten übersprungen
    pivotField.CurrentPage = "(All)"
    For Each pvItem In pivotField.PivotItems
        If pvItem.Visible = False Then pvItem.Visible = True
    Next
    Err.Clear
End Sub