Kontingenční tabulka - filtr pomocí VBA

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

revol
nováček
Příspěvky: 25
Registrován: květen 14
Pohlaví: Muž
Stav:
Offline

Kontingenční tabulka - filtr pomocí VBA

Příspěvekod revol » 22 čer 2016 16:22

Dobrý den,

potřeboval bych pomoct. Mám KT a potřebuji v ní měnit filtr na Zákazníky. Teď třeba potřebuji vyfiltrovat TOP100. Zdrojem dat je OLAP kostka.

Pracuji se dvěma kostkama. Pro jednu funguje toto makro:

Kód: Vybrat vše

Sub TOP100_cyklus()

Dim a As String

Dim MyCells As Object: Set MyCells = Sheets("Sheet1").Range("D1", Range("D1").End(xlDown))
Dim MyCell As Object
   
    With ActiveSheet.PivotTables("PTa").PivotFields("[Customer].[Company ID Number]")

        For Each MyCell In MyCells
            .AddPageItem "[Customer].[Company ID Number].[Company ID Number].&[" & MyCell & "]"
        Next
    End With
       
End Sub


Pro druhou kostku mi ale nefunguje ".AddPageItem" ale díky záznamu makra jsem zjistil, že funguje "VisibleItemsList"

Jenže toto makro mi nepřidává jednotlivé položky, ale pouze je mění a zafiltrovaný je postupně vždy jen jeden zákazník :mad:

Kód: Vybrat vše

Sub TOP100_cyklus()

Dim a As String

Dim MyCells As Object: Set MyCells = Sheets("Sheet1").Range("D1", Range("D1").End(xlDown))
Dim MyCell As Object
   
    With ActiveSheet.PivotTables("PTa").PivotFields("[Customer].[Registration No].[Registration No]")

        For Each MyCell In MyCells
            .VisibleItemsList = Array( _
            "[Customer].[Registration No].[Registration No].&[" & MyCell & "]")
        Next
    End With
   
End Sub

Reklama
  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů