Lista das funções do Excel (em PowerBI)

sexta-feira, 8 de junho de 2012

Código para actualizar Tabelas Dinâmicas automaticamente em Excel 2010

Como prometido ao meu amigo Valdemar Gomes, hoje escrevo sobre um tópico muito interessante e útil para quem trabalha com tabelas dinâmicas em MS Excel.
Uma forma automática de actualizar a tabela dinâmica numa folha de calculo.
Para realizar esta tarefa é necessário utilizar explicitamente o botão Actualizar.


Ora o que se pretende com este artigo é substituir este clique por uma forma automática, de maneira que sempre que a folha seja seleccionada a tabela actualizará imediatamente. Isto permite evitar esquecimentos inclusive.

Para isso iremos utilizar uma linha de código VBA nessa mesma folha. Vamos a isso.
Comece por clicar com a tecla direita no separador da folha onde está localizada a Tabela Dinâmica.
Nesse Menu contextual clique em Ver Código.


Deverá surgir o Editor de Visual Basic, já na página de código associado à folha de calculo em questão.
Na primeira caixa de escolha, altere de (General) para Worksheet. Na segunda altere de SelectionChange para Activate.


Entre a linha Private Sub e a linha End Sub escreva a seguinte linha de código:
ActiveSheet.PivotTables("Tabela dinâmica1").PivotCache.Refresh


Altere se necessário Tabela dinâmina1 para o nome da tabela dinâmica existente nessa folha.
O resto do código gerado pode ser apagado. No final deverá ficar com algo como isto.



Esta é uma excelente dica para conjugar com os nomes dinâmicos. Um Actualiza automaticamente a tabela dinâmica outro inclui automaticamente novas linhas da tabela original.

Notas:
  1. Para guardar um livro com código no MS Excel 2007 / 2010 é necessário escolher explicitamente o formato novo de Livro com permissão para Macros do Excel (*.xlsm)
  2. Para saber o nome atribuído a uma tabela dinâmica basta clicar na mesma e no separador Opções, no primeiro grupo está essa informação. Pode alterar o nome da tabela se desejar.



Por: Paulo Costa
       pcosta71@gmail.com




2 comentários:

  1. Funciona, mas esse código tem um efeito colateral bizarro: a opção "voltar" (CTRL+Z) fica comprometida após cada atualização automática da tabela... =/

    ResponderEliminar
  2. Olá tem como atualizar sem precisar mudar de aba? Pois usei o comando ele só realmente atualiza quando vou de uma aba para a outra.

    ResponderEliminar

Nota: só um membro deste blogue pode publicar um comentário.