Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten Top
#2
Hallo

(22.05.2017, 20: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.

Antworten Top
#3
Danke dir

Ich versuche mal rauszufinden wie das geht. :)

Gruss
Antworten Top


Gehe zu:


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