Filtrando (em branco) em um PivotFiled de todos os pivotables em uma pasta de trabalho que possuem os mesmos campos dinâmicos

0

Eu tenho um monte (14) de pivotables em duas planilhas (7 em cada planilha).

Eu tenho um botão de atualização na planilha que atualiza todos os itens dinâmicos usando o seguinte código:

Sub Refresh_Pivots()

Dim pt As PivotTable
    Dim WS As Worksheet
    For Each WS In ThisWorkbook.Worksheets
        For Each pt In WS.PivotTables
          pt.RefreshTable
          Next pt
    Next WS
End Sub

Todos os pivottables têm estrutura semelhante e há um campo chamado "Month" em todos os pivottables. Preciso filtrar "(em branco)" do PivotField "Month" em todas as Tabelas Dinâmicas quando clico em Atualizar.

Para isso, adicionei essa linha no Nested For Loop após o .RefreshTable -

pt.pf("month").pi("(blank)").ShowDetail = False

Portanto, o código alterado é:

Sub Refresh_Pivots ()

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim WS As Worksheet
    For Each WS In ThisWorkbook.Worksheets
        For Each pt In WS.PivotTables
          pt.RefreshTable
          pt.pf("month").pi("(blank)").ShowDetail = False
          Next pt
    Next WS
End Sub

Mas estou recebendo um erro de compilação. Eu não consigo descobrir o porquê. Sou relativamente novo no VBA, então me desculpe se essa é uma pergunta boba.

Além disso, eu preciso desses espaços em branco nos dados, só preciso filtrá-los das Tabelas Dinâmicas. Obrigado.

    
por MZX7 27.06.2014 / 22:48

1 resposta

0

Eu acho que você precisa substituir pf com PivotFields e pi por PivotItems

    
por 28.06.2014 / 23:06