Notifications
Clear all

DESMARCAR VAZIO EM TABELA DINÂMICA AO LIMPAR FILTRO DE SEGMENTAÇÃO DE DADOS

3 Posts
1 Usuários
0 Reactions
1,025 Visualizações
(@alexlounofre)
Posts: 3
Active Member
Topic starter
 

Preciso de uma valiosa ajuda:
Tenho uma tabela dinâmica derivada de um intervalo de dados que inevitavelmente tem algumas linhas em branco, e consequentemente a referida tabela dinâmica apresenta o item (vazio) em rótulos de linhas. Até aí, o simples filtrar, desmarcando o item (vazio) resolveria a questão, mas o problema é que, dessa tabela dinâmica, gerei um gráfico para análise, bem como uma segmentação de dados para dinamizar a consulta, e daí, toda vez que limpo o filtro da segmentação, o item (vazio) acaba reaparecendo, não só na tabela como também no gráfico.
Alguém poderia sugerir um código para que, toda vez que a segmentação for "limpa", automaticamente o item (vazio) seja novamente desmarcado na tabela dinâmica?
Em anexo vai a planilha de exemplo para melhor esclarecimento da questão.

Desde já fico muito grato pela ajuda.

 
Postado : 07/03/2023 12:15 pm
(@alexlounofre)
Posts: 3
Active Member
Topic starter
 

Segue o print da planilha

 
Postado : 07/03/2023 5:42 pm
(@alexlounofre)
Posts: 3
Active Member
Topic starter
 

Bem, estou postando a resposta obtida em outro fórum, por meio de um colaborador prestativo que me ajudou muito com a solução. O código consiste em uma private sub, conforme abaixo:

 

Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)

'Desmarca item (vazio) na tabela dinâmica ao limpar segmentação
On Error Resume Next

Static n As Long

n = n + 1

If n > 1 Then Exit Sub

    ActiveSheet.PivotTables("nome da tabela dinâmica").PivotFields("nome do campo").PivotFilters _
        .Add2 Type:=xlCaptionDoesNotEqual, Value1:="(vazio)"

'A linha abaixo é uma outra alternativa que também funciona:
'Target.PivotFields("nome do campo").PivotFilters _
        .Add2 Type:=xlCaptionDoesNotEqual, Value1:="(vazio)"

n = 0

End Sub

 

Espero que possa ajudar mais pessoas que porventura tenham a mesma dúvida.

 
Postado : 16/03/2023 9:43 pm