- Exemplo 1: Atualizar uma tabela dinâmica específica
- Exemplo 2: Atualizar todas as tabelas dinâmicas no livro de trabalho
É possível utilizar os seguintes métodos para atualizar tabelas dinâmicas no Excel utilizando o VBA:
Método 1: Atualizar uma tabela dinâmica específica
Sub RefreshPivotTable() Sheet1.PivotTables(" PivotTable1 ").Refreshtable End Sub
Esta macro específica actualizará apenas os valores na tabela dinâmica denominada Tabela dinâmica1 em Folha1 do livro de exercícios.
Método 2: Atualizar todas as tabelas dinâmicas no livro de trabalho
Sub RefreshAllPivotTables() ThisWorkbook.RefreshAll End Sub
Esta macro específica actualizará os valores em todas as tabelas dinâmicas de todo o livro de trabalho.
Os exemplos seguintes mostram como utilizar cada um destes métodos na prática.
Exemplo 1: Atualizar uma tabela dinâmica específica
Suponhamos que criámos uma tabela dinâmica a partir de um conjunto de dados no Excel:
Quando estamos no Análise de tabela dinâmica ao longo do friso superior do Excel, podemos ver no canto superior esquerdo que esta tabela dinâmica tem o nome Tabela dinâmica1 .
Suponhamos que alteramos o último valor na coluna de pontos do conjunto de dados de 22 para 200 :
Podemos criar a seguinte macro para atualizar os valores nesta tabela dinâmica específica:
Sub RefreshPivotTable() Sheet1.PivotTables(" PivotTable1 ").Refreshtable End Sub
Quando executamos esta macro, os valores na tabela dinâmica são automaticamente actualizados:
Exemplo 2: Atualizar todas as tabelas dinâmicas no livro de trabalho
Suponhamos que criámos duas tabelas dinâmicas a partir de um conjunto de dados no Excel:
A primeira tabela dinâmica mostra a soma de pontos por equipa e posição.
A segunda tabela dinâmica mostra a média de pontos por equipa e posição.
Suponhamos que alteramos o último valor na coluna de pontos do conjunto de dados de 22 para 200 .
Podemos criar a seguinte macro para atualizar os valores em todas as tabelas dinâmicas em todo o livro de trabalho:
Sub RefreshAllPivotTables() ThisWorkbook.RefreshAll End Sub
Quando executamos esta macro, os valores em ambas as tabelas dinâmicas são automaticamente actualizados: