Página 1 de 1

Atualizar Fonte de Dados da Tabela Dinâmica

Enviado: 14 Abr 2021 às 16:46
por phportugal
Boa Tarde Pessoal

Estou precisando de uma ajuda para criar uma macro que atualize um relatório utilizando até a última linha preenchida com dados de uma aba dentro da própria planilha.
Abaixo divido pelas etapas e status:

1° Ir na aba BD até a última linha da tabela para criar uma variável [OK]
2° Atualizar a tabela dinâmica que esta na aba Detalhe utilizando a variável criada [Problema].

Macro:

Sub Atualizar_Fonte_de_Dados_TD()
Sheets("BD").Select
linha_fim = Range("A1").End(xlDown).Row
Sheets("Detalhe").Activate
ActiveSheet.PivotTables("Tabela dinâmica2").SourceData = ("BD!$A$1:$O" & linha_fim)
End Sub

Ao executar a linha ActiveSheet.PivotTables("Tabela dinâmica2").SourceData da o seguinte erro:

"Erro de tempo de execução '1004':

O nome do campo da tabela dinâmica não é válido. Para criar um relatório de tabela dinâmica, você deve usar dados organizados como uma lista com colunas rotulados. Se você estiver mudando o nome do campo de uma tabela dinâmica, deve digitar um novo nome para o campo."

Já tentei mudar algumas coisas dessa linha, como ThisWorkbook.Worksheets ao invés de ActiveSheet, SourceData com, Range, mas nada deu certo.

Tentei anexar a planilha mas ela é um pouco grande.
Salvei no Gdrive: https://drive.google.com/file/d/1E6OehT ... sp=sharing

Caso alguém já tenha criado alguma macro alterando a fonte de dados e poderia mandar o código utilizado.

Att.
Paulo Portugal

Re: Atualizar Fonte de Dados da Tabela Dinâmica

Enviado: 14 Abr 2021 às 17:32
por CursoDeExcelGratis
boa tarde Paulo, vou dar uma olhada no seu link, mas pela mensagem de erro, na sua linha 1, entre a coluna A e a coluna O, deve ter alguma coluna sem nome, e para criar tabela dinâmica todas as colunas precisam ter um título.

Re: Atualizar Fonte de Dados da Tabela Dinâmica

Enviado: 14 Abr 2021 às 17:39
por phportugal
O cabeçalho esta preenchido.
Essa base de dados já é utilizada pela tabela dinâmica, só que agora estou automatizando os processos.
Quando atualizo manualmente funciona, só que estou com dificuldades no código que envolve o SourceData.

Muito obrigado pela força.

Re: Atualizar Fonte de Dados da Tabela Dinâmica

Enviado: 14 Abr 2021 às 17:46
por CursoDeExcelGratis
oi Paulo, outra opção que vc poderia testar seria colocar na origem de dados as colunas inteiras sem as linhas, assim vc não precisa de macro

BD!$A:$O

ainda, se vc formatar a sua tabelad e dados deveria ser automatico tambem

e por ultimo, vc pode atualizar o source data usando a notacao relativa

ActiveSheet.PivotTables("Tabela dinâmica2").SourceData = "BD!L1C1:L" & linha_fim & "C15"

Re: Atualizar Fonte de Dados da Tabela Dinâmica

Enviado: 14 Abr 2021 às 19:25
por phportugal
Mestre, funcionou perfeitamente.
O erro era no caminho da aba.
Muito obrigado pela rapidez na resposta, estou iniciando nesse mundo de VBA. Aproveitando, você da aulas de VBA?

Re: Atualizar Fonte de Dados da Tabela Dinâmica

Enviado: 14 Abr 2021 às 19:30
por CursoDeExcelGratis
fico contente que tenha dado certo.

Não dou aulas :-(, mas tenho um canal no youtube cursodeexcelgratis.com.br/canal, estou fazendo uns videos de VBA, recomendo vc fazer o primeiro, nele ensino técnicas que vão te ajudar a aprender a programar e a encontrar os problemas das suas macros.

Neste seu caso, eu nunca tinha feito a atualização de tabela dinâmica ( para ser sincero, não sei quase nada de VBA de memoria, sempre vou atrás do que preciso ) , neste caso, bastou eu ver na janela de inspeções do VBA o formato daquele DataSource, para entender o que estava errado, antes tentei o gravador de macros não gravava nada , kkkk

obrigado, e espero que assine meu canal ! tem varias coisas legais que vou fazer em VBA ( mesmo não sabendo, rs )