Como alterar a fonte de uma tabela dinâmica do Excel usando o VBA

Tabelas dinâmicas pode exibir sub-totais ou médias de seus dados.

Microsoft Excel é um aplicativo de planilha. Uma característica deste programa é que você pode usar suas planilhas para armazenar dados de forma semelhante à maneira como você faria em um banco de dados e, em seguida, fazer referência a ela em displays gráficos dinâmicos. Existem dois tipos de ecrãs que pode utilizar: tabelas dinâmicas e gráficos dinâmicos. Tabelas dinâmicas pode ser usado para classificar, filtrar e resumir seus dados. A única maneira de mudar a fonte de dados usada por uma tabela dinâmica, uma vez que foi criado através do assistente é para atualizá-lo a partir do código VBA no fundo.

  • Criar um objeto de tabela dinâmica no VBA para que você possa atualizar a fonte. Copie o código abaixo e colocá-lo em sua função macro ou.

    Dim ptMyPivotTable Como tabela dinâmica

  • Ligue o seu objeto de tabela dinâmica com a sua tabela dinâmica real. Copie o código abaixo.

    Definir ptMyPivotTable = ActiveSheet.PivotTables (1)

  • Atualize a propriedade SourceData de seu objeto de tabela dinâmica para os novos valores. Você pode fazer isso, basta copiar o código VBA fornecido. Substitua seu intervalo de dados desejado no lugar de "A1" no exemplo.

    ptMyPivotTable.SourceData = Range ("A1") .CurrentRegion.Address (True, True, xlR1C1, True)



    Para fazer referência a um intervalo em uma folha diferente, você pode usar o código a seguir.

    ptMyPivotTable.SourceData = Sheets ("mySheetName"). [A1] .CurrentRegion.Address (True, True, xlR1C1, True)

  • Atualizar os dados realmente exibidas em sua tabela dinâmica usando o comando VBA abaixo.

    ptMyPivotTable.RefreshTable

  • Liberar os recursos utilizados em seu objeto de tabela dinâmica fixando-a igual a nada.

    Definir ptMyPivotTable = Nothing

dicas & avisos

  • Você pode ter os dados em sua tabela dinâmica atualizar cada vez que as alterações de dados reais. Para fazer isso basta configurar sua planilha para calcular automaticamente e adicionar o comando RefreshTable para a função Worksheet_Calculate. Veja o link na seção de Recursos para obter mais detalhes.
De esta maneira? Compartilhar em redes sociais:

LiveInternet