Nach DropDown Auswahl Filter auf mehrere Pivot Tabellen anpassen
#1
Wink 
Hallo Zusammen

Ich habe mir ein Macro zusammengebaut, das bei einer DropDown Auswahl, den Filter einer Pivot Tabelle dementsprechend aktualisiert.

D.h. wenn ich die 3 in dem DropDown Menu auswähle  - Worksheets("Benchmark").Cells(1, 6) - aktiviert er im Pivot Filter "month" die Monate 01 bis 03. Gleichzeitig deaktiviert er die Monate 04 bis 12.
Es funktioniert alles sehr gut, möchte es aber gerne Erweitern und weiss nicht wie.

1. Eine Pivot Tabelle wird hier angesteuert. Ich möchte aber auf alle Pivot Tabellen (ca. 6 Pivot und haben den gleichen Filter) den Filter ändern. Nehme an wieder eine Schleife, aber wie spreche ich alle an?
2. Der Code ist ein wenig "einfach" programmiert ;). Könnte man es auch kürzen? (vor allem die Arrays) 



P
Code:
rivate Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = ("$F$1") Then
    Application.SendKeys "{F9}"
    Dim Monat(1 To 12) As Integer
    Dim i As Variant
    Dim anzahlMon As Variant
    Dim noanzahlMon As Variant
    Dim wksPivot As Worksheet
    Dim pvTab As PivotTable, pvField As PivotField
    Dim wksActive As Worksheet
    
    Set wksPivot = Sheets("store1_bm")
    Set pvTab = wksPivot.PivotTables(1)
    Set pvField = pvTab.PivotFields("month")

    anzahlMon = Worksheets("Benchmark").Cells(1, 6).Value
    noanzahlMon = Worksheets("support_table").Cells(3, 6).Value
    If anzahlMon = "-" Then anzahlMon = noanzahlMon
    
    Monat(1) = "01"
    Monat(2) = "02"
    Monat(3) = "03"
    Monat(4) = "04"
    Monat(5) = "05"
    Monat(6) = "06"
    Monat(7) = "07"
    Monat(8) = "08"
    Monat(9) = "09"
    Monat(10) = "10"
    Monat(11) = "11"
    Monat(12) = "12"
    
  Application.ScreenUpdating = False
  
    For i = 1 To anzahlMon
        pvField.PivotItems(Monat(i)).Visible = True
    Next i
    For i = anzahlMon + 1 To 12
        pvField.PivotItems(Monat(i)).Visible = False
    Next i
  
    Application.ScreenUpdating = True
    
 End If
    
End Sub


Falls mir jemand helfen könnte wäre ich dankbar.

Grüsse
Top
#2
Hallo

(22.05.2017, 21:54)Rassul schrieb: 1. Eine Pivot Tabelle wird hier angesteuert. Ich möchte aber auf alle Pivot Tabellen (ca. 6 Pivot und haben den gleichen Filter) den Filter ändern. Nehme an wieder eine Schleife, aber wie spreche ich alle an?
Verwende einen Datenschnitt.
Einen Datenschnitt kann man mehrere Pivot-Tabellen zuordnen.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#3
Danke dir

Ich versuche mal rauszufinden wie das geht. :)

Gruss
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste