Como fazer tabela dinâmica via VBA
Primeiramente gostaria de avisar que existem inúmeras maneiras de fazer tabela dinâmica assim como código para isso.
Por isso vamos apenas mostrar uma maneira e um código que acreditamos ser o mais simples e fácil de entender.
Então vamos começar.
Vamos fazer a programação com base no exemplo da tabela abaixo:
Agora queremos fazer uma tabela dinâmica que mostre a somatória do total do valor de cada gasto por tipo.
Para isso vamos abrir a janela do Visual Basic (atalho Alt + F11) e colar o código abaixo:
Sub
CriarTabela()ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=Range("B7:D17")).CreatePivotTable _ TableDestination:=Range("F7"), TableName:="Tabela" ActiveSheet.PivotTables("Tabela").PivotFields("Tipo") _ .Orientation = xlRowField ActiveSheet.PivotTables("Tabela").AddDataField _ ActiveSheet.PivotTables("Tabela").PivotFields("Valor") _ , "Soma", xlSum
End
Sub
Explicando um pouco esse código temos:
- B7:D17 - Intervalo da tabela fonte
- F7 - Destino da tabela dinâmica
- "Tabela" - Nome da tabela dinâmica
- "Tipo" - Campo que vai ser agrupado
- "Valor" - Campo que será somado
Tirando esses dados variáveis acima a estrutura do código tem que ser igual para a macro funcionar corretamente.
Então agora vamos associar essa macro a um botâo de comando.
Você pode fazer isso indo no menu Desenvolvedor - Inserir - Botão (Controle de formulário) conforme abaixo
Logo depois uma janela parecida com a abaixo irá aparecer
Em seguida clique na macro criada "CriarTabela" e depois "Ok"
Pronto agora ao clicar no botão uma tabela dinâmica parecida com a abaixo irá aparecer:
Agora é só formatar da maneira que achar melhor e pronto.
Como fazer tabela dinâmica via VBA
Gostou do conteúdo? Ele foi útil?
Se ainda ficou com alguma dúvida entre em contato conosco pelo email contato@exceleaccess.com.
Quer receber várias dicas no seu seu email?
Cadastre seu email aqui para receber várias dicas como essa por email.
Obrigado pela visita!
www.exceleaccess.com
contato@exceleaccess.com
www.exceleaccess.com
www.exceleaccess.com
www.exceleaccess.com