PivotItem (row) filter toepassen

Status
Niet open voor verdere reacties.

Kirsten1712

Gebruiker
Lid geworden
11 jan 2017
Berichten
28
Aangezien jullie me altijd weer vooruit weten te helpen en ik hier al het meest heb bijgeleerd, een volgende uitdaging: ;)
Er vallen online wel wat oplossingen terug te vinden, maar ik krijg ze voorlopig niet werkende..

Ik heb een bestand met data (meerdere verschillende brondata dus een slicer werkt niet), waarbij enkele pivots dagelijks worden gerefreshed.
Stel dat ik in cell C4, de datum die ik wil oproepen in de pivots, plaats. Kan ik dan als volgt werken?

Met mijn huidige code, krijg ik steeds deze fout: "unable to get the pivotitems property of the pivotfield class".

Code:
Sub test()
Sheets("Sheet1").Activate
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Date")
    .ClearAllFilters
    .PivotItems("c4").Visible = True
    End With
End Sub

Mogelijk moet ik nog ergens "CDate" toevoegen, maar ik heb geen idee waar.. :(

Wederom bedankt!
 
Je zal de items moeten doorlopen.

Code:
For Each pt In .PivotItems
    pt.Visible = CDate(pt) = Format([C4].Value, "m-d-yyyy")
Next pt
 
Hoi VenA

Mijn excuses, maar ik geraak er niet uit.. Kan je me wat meer uitleg geven?
Ik begrijp dat ik inderdaad doorheen alle pivotitems moet lopen, maar ik krijg de ene foutmelding na de andere.

Dit was de laatste versie:

Code:
Sub test()
Dim pt As PivotItem
Sheets("Hourly Output").Select
For Each pt In ActiveSheet.PivotTables("PivotTable1")
            pt.Visible = CDate(pt) = Format([C4].Value, "m-d-yyyy")
Next pt
End Sub
 
Als je het bestandje er even bij doet dan praat het wat makkelijker. De ene foutmelding na de andere is nogal nietszeggend.
 
Probeer het zo eens

Code:
Sub VenA()
  With Sheets("Hourly Output").PivotTables("PivotTable1").PivotFields("Pstng Date")
    .ClearAllFilters
    .PivotFilters.Add xlSpecificDate, , Format(Sheets("Hourly Output").[C4].Value, "d-m-yyyy")
  End With
End Sub
 
Nog een kleine update.

Voor degenen die ongeveer hetzelde willen toepassen, maar een level minder hebben in hun pivot, kunnen best deze versie gebruiken:

Code:
Dim myDate As String
    
    myDate = Format(Sheets("Sheet1").[C4].Value, "yyyy-mm-dd") & "T00:00:00"
    Sheets("Sheet2").PivotTables("PivotTable2").PivotFields("[Range 1].[CountDate].[CountDate]").VisibleItemsList = Array("[Range 1].[CountDate].&[" & myDate & "]")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan