Eu acho que você precisa substituir pf com PivotFields e pi por PivotItems
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.
Eu acho que você precisa substituir pf com PivotFields e pi por PivotItems