Pivot Tabellen_Feld_Intems
07.11.2014 12:58:11
lee
ich habe eine Excel-Datei mit mehreren Tabellenblättern und in jedem Tabellenblatt gibt mehrere PivotTabellen. Alle PivotTabellen
liegen untereinander. Einige Pivottabelle haben das PivotFeld WK und andere nicht, WK steht für Jahr&Kalenderwoche (z.B. 201431)
Ich möchte über VBA die PivotTabellen mit dem Feld WK ansprechen und nur die letzten 13 Kalenderwochen (Items) einblenden, d.h. wenn heute KW45 ist,
dann müssen KW32 bis KW44 eingeblendet werden und alle KW, welche kleiner gleich 31 sind, müssen ausgeblendet werden.
Im Vorfeld habe ich bereits alle KW Versuche mit dem Code:
Sub Pivot ()
Dim ws As Worksheet
Dim pt As PivotTable
intKW = 201445
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
If pt.PivotFields("WK") "" Then Hier muss doch das Makro in die
andere PivotTabelle springen, wenn in der
ersten PivoT das Feld WK nicht auftaucht,
aber esgeht nicht in die nächste PivotT,
sondern es läuft weiter mit dem Code
With pt.PivotFields("WK")
.AutoSort xlAscending, "WK"
.PivotItems(intKW - 1).Visible = True die neuen Wochen sollen
eingeblendet werden
.PivotItems(intKW - 2).Visible = True die neuen Wochen sollen
eingeblendet werden
.PivotItems(intKW - 3).Visible = True die neuen Wochen sollen
eingeblendet werden
.PivotItems(intKW - 14).Visible = False die neuen Wochen sollen
eingeblendet werden
End With
End If
Next 'pt
Next 'ws
End Sub
Vielleicht habt ihr eine andere Idee!?
Danke im Voraus für die Hilfe.
Gruß
lee