Excel VBA – Alterar campos de tabela dinâmica para Soma

Promoção de cursos de Excel Avançado e VBA
Promoção de cursos de VBA e Excel Avançado
22 de agosto de 2015
Quanto ganha um profissional de Excel
Quanto ganha um profissional de Excel
27 de agosto de 2015

Excel VBA – Alterar campos de tabela dinâmica para Soma

Alterar campos de tabela dinâmica para soma

Neste artigo vamos apresenta um código para alterar todos os campos de valor de uma tabela dinâmica para a função SOMA.

Este procedimento foi criado porque me deparei com uma planilha em que haviam 24 colunas, uma para cada mês com relação ao valor da venda e mais 12  para a comissão da filial. Estas colunas deveriam conter portanto a soma das vendas e a soma das comissões.

Quando criamos uma tabela dinâmica, todos os campos de valor são criados com o tipo contagem como Default, e infelizmente não tem como mudar este padrão.

Sendo assim, este procedimento teria que ser feito manualmente para cada uma das colunas, o que em um primeiro momento, está OK, mas além disso ainda é necessário configurar cada uma das colunas para o formato Decimal, o que já cria mais uma tarefa manual desnecessária.

Para esta tarefa criei portanto o seguinte código VBA Excel. Ele altera todos os campos de valor de uma tabela dinâmica para a função SOMA.

Sub lsCamposTDSoma()
    On Error GoTo TratarErro
 
    Dim PvtTbl As PivotTable
    Dim pvtFld As PivotField
    Dim strPvtFld As String
    Set PvtTbl = ActiveSheet.PivotTables(ActiveCell.PivotTable.Name)
 
    For Each pvtFld In PvtTbl.DataFields
        pvtFld.Function = xlSum
        pvtFld.NumberFormat = "#,##0.00"
    Next
   
Sair:
    Exit Sub
TratarErro:
    MsgBox "Não existem campos de valor, ou não foi selecionada uma tabela dinâmica!"
    GoTo Sair
End Sub

Para funcionar é muito simples. Basta clicar sobre a tabela dinâmica que gostaria de formatar e executar a macro lsCamposTDSoma, lembrando que para utilizar funções VBA em todas as planilhas você deve seguir os procedimentos descritos neste artigo:
Habilitando a guia desenvolvedor e copiando procedimentos VBA da Internet

Alterar campos de tabela dinâmica para soma 2

 

Assim que for executada a macro, todos os campos de valor serão então alterados para o tipo SOMA, conforme abaixo:

Alterar campos de tabela dinâmica para soma 3

Então é isso, no próximo artigo tratarei mais de como manipular tabelas dinâmicas utilizando VBA.[saiba_mais]

Abraço

Marcos Rieper


Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui você encontra tudo sobre Excel, seja de nível básico, intermediário,  avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
Cursos

Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado – Acesso Vitalício

R$218,00 R$179,00

COMPRAR
Cursos

Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso VBA Excel + LP – Acesso Vitalício

R$357,00 R$249,00

COMPRAR
Cursos

Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de programação – Acesso Vitalício

R$258,00 R$199,00

COMPRAR
Cursos

Curso Excel Web – Curso VBA Excel + Lógica de programação + Curso Web Scraping VBA- Acesso Vitalício

R$388,90 R$309,00

COMPRAR

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.