Se você precisa criar uma Tabela Dinâmica com Macro VBA, este artigo é para você. Para criar uma Tabela Dinâmica com Macro VBA, você pode seguir os seguintes passos:
- Abra o Excel e pressione "Alt + F11" para abrir o Editor VBA.
 - No Editor VBA, clique com o botão direito do mouse na pasta de projetos e selecione "Inserir" -> "Módulo" para adicionar um novo módulo.
 - No módulo recém-criado, escreva o código VBA para criar a Tabela Dinâmica:
 
Sub CriarTabelaDinamica()
    Dim ws As Worksheet
    Dim ptCache As PivotCache
    Dim pt As PivotTable
    Dim ptRange As Range
    Dim ptRowField As PivotField
    Dim ptDataField As PivotField
    ' Defina a planilha onde a Tabela Dinâmica será criada
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Substitua "Sheet1" pelo nome da sua planilha
    ' Defina a faixa de dados para a Tabela Dinâmica
    Set ptRange = ws.Range("A1:D10") ' Substitua pela faixa de dados que você deseja usar
    ' Crie um cache para a Tabela Dinâmica
    Set ptCache = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=ptRange)
    ' Adicione uma Tabela Dinâmica na planilha especificada
    Set pt = ptCache.CreatePivotTable(TableDestination:=ws.Range("F3"), TableName:="TabelaDinamica")
    ' Adicione os campos à Tabela Dinâmica
    Set ptRowField = pt.PivotFields("Nome") ' Substitua "Nome" pelo nome do campo que você deseja usar como linhas
    ptRowField.Orientation = xlRowField
    Set ptDataField = pt.PivotFields("Vendas") ' Substitua "Vendas" pelo nome do campo que você deseja usar como valores
    ptDataField.Orientation = xlDataField ' Nesse caso, estamos usando como valores
    ' Personalize outras configurações da Tabela Dinâmica, se necessário
    ' Atualize a Tabela Dinâmica
    pt.RefreshTable
    ' Opcional: Formate a Tabela Dinâmica conforme desejado
    ' (exemplo de formatação, você pode personalizar como preferir)
    pt.TableStyle2 = "PivotStyleMedium9"
End Sub
- Depois de escrever o código, feche o Editor VBA e retorne à planilha Excel.
 - Para executar a macro e criar a Tabela Dinâmica, pressione "Alt + F8" para abrir a caixa de diálogo "Macro".
 - Selecione a macro "CriarTabelaDinamica" na lista e clique em "Executar".
 
Lembre-se de personalizar o código VBA de acordo com sua necessidade, substituindo os nomes da planilha, faixa de dados e campos conforme sua planilha real.
Importante: Certifique-se de habilitar as macros no Excel para que a macro possa ser executada com sucesso. Para fazer isso, vá para "Arquivo" -> "Opções" -> "Central de Confiabilidade" -> "Configurações da Central de Confiabilidade" -> "Configurações de Macro" e selecione a opção "Habilitar todas as macros". Tenha cuidado ao habilitar macros de fontes não confiáveis, pois elas podem ser prejudiciais.
Conclusão:
No código acima, você precisará substituir "Sheet1" pelo nome real da planilha onde seus dados estão localizados e "A1:D10" pelo intervalo correto que contém seus dados.
Você também pode adicionar mais campos à Tabela Dinâmica, ajustando as linhas de código dentro do bloco "With tbl".
Após escrever o código VBA, você pode fechar o Editor VBA e voltar para a planilha do Excel.
Para executar a macro e criar a Tabela Dinâmica, vá para a guia "Developer" (Desenvolvedor) novamente e clique no botão "Macros". Selecione a macro "CriarTabelaDinamica" e clique em "Run" (Executar).
Com esses passos, você poderá criar uma Tabela Dinâmica usando uma macro VBA no Microsoft Excel.












