Compartilhe!

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:

Como fazer tabela dinamica via VBA - Como fazer tabela dinâmica via VBA

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

Como fazer tabela dinamica via VBA 01 - Como fazer tabela dinâmica via VBA

Logo depois uma janela parecida com a abaixo irá aparecer

Como fazer tabela dinamica via VBA 02 - Como fazer tabela dinâmica via VBA

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:

Como fazer tabela dinamica via VBA 03 - Como fazer tabela dinâmica via VBA

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.

Você também vai gostar:
Excel – Ordenando dados via VBA

Vamos ordenar o range "B2:B10" da sheet "Plan1" via VBA com o seguinte código: With ActiveWorkbook.Worksheets("Plan1").Sort .SetRange Range("B2:B10" ) .Header Leia mais...

Planilha para organizar a semana

Planilha para organizar a semana Neste artigo vamos montar uma planilha exemplo para controlar suas atividades semanais. Quando você precisa Leia mais...

Excel e Access – Deletando Dados no Access pelo Excel via VBA (macro)

1 - Vamos primeiro verificar os dados de uma tabela: Você pode ver mais detalhes de como buscar dados do Leia mais...

Obrigado pela visita!

www.exceleaccess.com

contato@exceleaccess.com

www.exceleaccess.com

www.exceleaccess.com

www.exceleaccess.com


Compartilhe!

Deixe uma resposta

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