- 14 Abr 2021 às 16:46
#63763
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
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