Notifications
Clear all

Limpar Rótulos de Coluna Tabela Dinamica

16 Posts
3 Usuários
0 Reactions
2,404 Visualizações
(@manojointz)
Posts: 0
New Member
Topic starter
 

Galera,

Dúvida bem simples... preciso limpar todos os rotulos de linha existentes (independentes de quais sejam) na minha tabela dinamica por VBA. Alguem ajuda??

 
Postado : 19/05/2016 8:50 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
(@manojointz)
Posts: 0
New Member
Topic starter
 

Boa tarde,

Não consegui achar nenhum macro que resolvesse meu problema (talvez por desconhecimento meu).

Tenho diversos campos inseridos no rótulo de linha da tabela dinâmica, gostaria de retirar todos com macro (limpando assim o rotulo de linhas).

Att,

 
Postado : 19/05/2016 10:33 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Poderia postar seu arquivo modelo?

Att

 
Postado : 19/05/2016 10:51 am
(@manojointz)
Posts: 0
New Member
Topic starter
 

Estou enviando um arquivo apenas como exemplo.

Nesta tabela dinamica da aba Plan1, gostaria de retirar os campos "Nome do Aluno" e "Final" do rotulo de linha da tabela dinamica por macro.

Repare que não necessariamente estes vão ser os campos que estarão no rotulo de linhas, gostaria de limpar o rotulo de linhas independente dos campos que estiverem inseridos.

Att,

 
Postado : 19/05/2016 1:12 pm
(@manojointz)
Posts: 0
New Member
Topic starter
 

Envio novamente o arquivo sem macro, para não criar suspeitas.

 
Postado : 19/05/2016 1:30 pm
(@mprudencio)
Posts: 0
New Member
 

So nao entendi o pq nao retirar manualmente

Para o exemplo apresentado

Sub LimparRotulo()

    ActiveSheet.PivotTables("Tabela dinâmica3").PivotFields("Nome Aluno").Orientation = xlHidden
    ActiveSheet.PivotTables("Tabela dinâmica3").PivotFields("Final").Orientation = xlHidden
End Sub
 
Postado : 19/05/2016 1:50 pm
(@manojointz)
Posts: 0
New Member
Topic starter
 

Agradeço mas,

Este arquivo é só de exemplo. Na prática é um arquivo muito mais complexo, que irá para o cliente e deve ser automático. Este código não me ajuda...

 
Postado : 19/05/2016 1:52 pm
(@mprudencio)
Posts: 0
New Member
 

O exemplo deve sr identico ao original, em estrutura e formato..

Nao entendi ainda pq nao retirar os rotulos da TD manualmente.

 
Postado : 19/05/2016 2:13 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Sub ConformeIndiquei()
'Fonte: http://www.databison.com/pivot-table-vba-vba-to-read-modify-a-pivot-table-in-excel/
    For Each pvt In ActiveSheet.PivotTables
        For Each pvtfld In pvt.PivotFields
            pvtfld.Orientation = xlHidden
        Next pvtfld
    Next pvt
    
'Aqui reinsira os campos nos rótulos desejados
    
End Sub

Att

 
Postado : 19/05/2016 2:15 pm
(@mprudencio)
Posts: 0
New Member
 

Como o exemplo é igual ao original vc vai precisar ajustar


Sub LimparRotulo()

Dim WS As Worksheet


Set WS = Sheets("Plan1")

 With WS.PivotTables("Tabela dinâmica3")
 
 .PivotFields("Nome Aluno").Orientation = xlHidden
 .PivotFields("Final").Orientation = xlHidden
 
 End With

End Sub

 
Postado : 19/05/2016 2:23 pm
(@manojointz)
Posts: 0
New Member
Topic starter
 

Esse código não me ajuda,

Ele retira o filtro também, eu gostaria de um código que apenas retire o rótulo de linha.

 
Postado : 19/05/2016 2:27 pm
(@manojointz)
Posts: 0
New Member
Topic starter
 

Este código não me ajuda, ele também retira os filtros.

Gostaria de um código que retirasse apenas o rotulo de linha da tabela dinamica.

Att,

 
Postado : 19/05/2016 2:28 pm
(@manojointz)
Posts: 0
New Member
Topic starter
 

Este código nao me ajuda, ele retira todos os campos.

Gostaria de um código que retirasse apenas os campos do rotulo de linha da tabela dinamica.

Att,

 
Postado : 19/05/2016 2:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Já tentou algo assim

Sub ConformeIndiquei()
'Fonte: http://www.databison.com/pivot-table-vba-vba-to-read-modify-a-pivot-table-in-excel/
    For Each pvt In ActiveSheet.PivotTables
        For Each pvtfld In pvt.PivotFields
            pvtfld.Orientation = xlHidden
        Next pvtfld
    Next pvt
    
'Aqui reinsira os campos nos rótulos desejados
ActiveSheet.PivotTables("Tabela dinâmica3").AddDataField ActiveSheet. _
        PivotTables("Tabela dinâmica3").PivotFields("Nota"), "Contagem de Nota", _
        xlCount
    ActiveSheet.PivotTables("Tabela dinâmica3").AddDataField ActiveSheet. _
        PivotTables("Tabela dinâmica3").PivotFields("Nota 2"), "Contagem de Nota 2", _
        xlCount
    With ActiveSheet.PivotTables("Tabela dinâmica3").PivotFields("Contagem de Nota" _
        )
        .Caption = "Média de Nota"
        .Function = xlAverage
    End With
    With ActiveSheet.PivotTables("Tabela dinâmica3").PivotFields( _
        "Contagem de Nota 2")
        .Caption = "Média de Nota 2"
        .Function = xlAverage
    End With
End Sub

Att

 
Postado : 19/05/2016 2:37 pm
Página 1 / 2