Microsoft Excel

Herbers Excel/VBA-Archiv

Filter einer Pivot "leeren"


Betrifft: Filter einer Pivot "leeren" von: Tanja
Geschrieben am: 06.07.2017 11:24:15

Hallo zusammen,
ich habe eine Pivottabelle in der ich in der ersten Spalte einen Filter habe.
Nun möchte ich, dass der Filter nur einen bestimmten Wert ausgibt und abgesehen davon nichts anzeigt. Also quasi nur eine Checkbox ein häckchen drin hat.

Wenn ich das mit dem Makro aufzeichner versuche, dann bekomm ich eine elendslange Liste die ich nachher nicht ausführen kann, da sie zulang ist.

Gibt es einen VBA-Code der es mir ermöglicht, dass nur ein Element auf "True" setzt und die anderen alle auf "false"?

  

Betrifft: AW: Filter einer Pivot "leeren" von: Michael (migre)
Geschrieben am: 06.07.2017 12:29:37

Hallo!

Schematisches Bsp.:

Sub a()

    Dim Wb As Workbook: Set Wb = ThisWorkbook
    Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle2")
    Dim p As PivotTable: Set p = Ws.PivotTables("PivotTable1")
    Dim f As PivotField: Set f = p.PivotFields("Lorem")
    Dim i As PivotItem, s$
    
    s = "C"
    With f
        For Each i In .PivotItems
           If i.Name <> s Then
                i.Visible = False
           Else:
                i.Visible = True
           End If
        Next
    End With
End Sub
Angenommener Fall: Die Pivot-Tabelle enthält in den Zeilen-Beschriftungen die Checkboxen "A" bis "D" - dann würde durch den o.a. Code nur die Checkbox für "C" ausgewählt.

Passt?
LG
Michael


  

Betrifft: AW: Filter einer Pivot "leeren" von: Rudi Maintaire
Geschrieben am: 06.07.2017 12:32:32

Hallo,
bspw. nur das letzte an:

Sub aaaa()
  With Sheets(1).PivotTables(1)
    .RefreshTable
    With .PivotFields(1)
      .ClearAllFilters
      For i = 1 To .PivotItems.Count - 2
        .PivotItems(i).Visible = False
      Next
      .PivotItems(i).Visible = True
    End With
  End With
End Sub

Gruß
Rudi


Beiträge aus den Excel-Beispielen zum Thema "Filter einer Pivot "leeren""