Witam Serdecznie
Drodzy koledzy napotkałem na problem przy próbie sczytywania filtrów z tabeli przestawnej:
Sub filtr() ' ma sczytywać aktywny filtr
' Wiersz - wymiar tabeli występujący we wierszu
a = ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Wiersz").VisibleItems.Count
For i = 1 To a
MsgBox "pozycja " & i & " aktywna we wierszu " & ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("Wiersz").VisibleItems(i)
Next i
' filtr - wymiar tabeli występujący w filtrze
a = ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("filtr").VisibleItems.Count
For i = 1 To a
MsgBox "pozycja " & i & " aktywna w filtrze " & ActiveSheet.PivotTables("Tabela przestawna1").PivotFields("filtr").VisibleItems(i)
Next i
End Sub
makro ma sczytywać aktywne filtry z wymiarów tabeli przestawnej, gdy pole znajduje się w polu wiersza lub kolumny to działa dobrze ale to samo przerzucone do pola filtra (na górę) działa w następujący sposób:
- gdy filtrujemy pojedynczy element zwraca go dobrze OK
- gdy filtrujemy wszystkie zwraca: (All) OK
- gdy filtrujemy kilka elementów zwraca: (All) a nie faktycznie wyfiltrowane elementy
Dziwne i nie zrozumiałe dla mnie jest to że źle działa tylko w polu filtra a w pozostałych przypadkach OK. Może spotkaliście się z tym i macie na to jakiś sposób. Może dla filtra trzeba zrobić to zrobić jakoś inaczej.
Z góry serdeczne dzięki za pomoc |