Como vincular o filtro da Tabela Dinâmica a uma célula específica no Excel?
No Excel, muitas vezes você pode desejar criar relatórios interativos onde o filtro da Tabela Dinâmica reflita o valor em uma célula específica. Isso permite que os usuários selecionem ou insiram um valor de filtro em um local e tenham a Tabela Dinâmica atualizada dinamicamente com base nessa entrada. Esse método é especialmente útil ao projetar painéis ou interfaces de filtro personalizadas para exploração de dados.
Este artigo fornece várias soluções práticas, incluindo uma abordagem baseada em VBA e outros métodos internos do Excel, para ajudá-lo a vincular um filtro de Tabela Dinâmica a um valor de célula ou alcançar efeitos semelhantes de relatórios dinâmicos.
- Vincular o filtro de Tabela Dinâmica a uma célula específica com código VBA
- Fórmula do Excel - Use fórmulas (por exemplo, GETPIVOTDATA) em conjunto com referências de filtro ou Filtro de Relatório
- Outros Métodos Internos do Excel - Conecte os Filtros de Tabela Dinâmica e painéis para filtragem interativa
Vincular o filtro de Tabela Dinâmica a uma célula específica com código VBA
Se você precisa da conexão mais direta entre uma célula e um filtro de Tabela Dinâmica — de modo que alterar o valor de uma célula atualize automaticamente o filtro da Tabela Dinâmica — o VBA oferece uma maneira prática de alcançar isso. Essa abordagem é adequada para painéis ou relatórios interativos onde os usuários desejam controlar rapidamente fatias de dados a partir de uma única célula.
Para que essa técnica funcione, sua Tabela Dinâmica deve conter um campo de filtro. O nome do campo de filtro é crucial para configurar corretamente o código VBA.
Considere o seguinte exemplo: A Tabela Dinâmica tem um campo de filtro chamado Categoria, com dois valores de filtro: “Despesas” e “Vendas”. Ao vincular uma célula ao filtro da Tabela Dinâmica, você pode controlar os dados exibidos digitando “Despesas” ou “Vendas” na célula escolhida.
Para implementar isso:
- Selecione a célula que você deseja usar como controlador de filtro (por exemplo, célula H6) e insira um dos seus valores de filtro antecipadamente. Certifique-se de que o valor corresponda exatamente aos disponíveis no campo de filtro da Tabela Dinâmica.
- Vá para a planilha que contém sua Tabela Dinâmica. Clique com o botão direito na guia da planilha e escolha Visualizar Código no menu. Isso abre a janela Visual Basic for Applications.
Na janela Microsoft Visual Basic for Applications, cole o seguinte código VBA no painel de código.
Código VBA: Vincule o filtro da Tabela Dinâmica a uma célula específica
Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
On Error Resume Next
If Intersect(Target, Range("H6")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
Set xPFile = xPTable.PivotFields("Category")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True
End Sub
Notas:
Depois de colar o código, pressione Alt + Q para fechar a janela do editor VBA e retornar ao Excel.
Agora, o estado do filtro da sua Tabela Dinâmica é controlado pelo conteúdo da célula H6. Basta mudar o valor na célula H6 (para "Vendas" ou "Despesas") para atualizar instantaneamente a exibição da Tabela Dinâmica. Se você encontrar algum problema, verifique novamente se o valor da célula referenciada corresponde exatamente a um valor de filtro na Tabela Dinâmica e se os nomes em seu código estão atribuídos corretamente.
Sempre que você modificar o conteúdo da célula, a Tabela Dinâmica atualiza seus dados filtrados de acordo.
Dicas e solução de problemas: Se o valor do campo de filtro na célula não corresponder exatamente aos itens disponíveis (incluindo maiúsculas e espaçamento), o código pode não aplicar o filtro conforme esperado. Sempre verifique se seus campos e nomes de tabelas estão escritos corretamente no código VBA. Se você quiser usar essa configuração em várias Tabelas Dinâmicas, pode adaptar ainda mais o código ou estendê-lo usando Loops.

Desbloqueie a Magia do Excel com o Kutools AI
- Execução Inteligente: Realize operações de células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- Fórmulas Personalizadas: Gere fórmulas sob medida para otimizar seus fluxos de trabalho.
- Codificação VBA: Escreva e implemente código VBA sem esforço.
- Interpretação de Fórmulas: Compreenda fórmulas complexas com facilidade.
- Tradução de Texto: Supere barreiras linguísticas dentro de suas planilhas.
Fórmula do Excel - Use fórmulas (por exemplo, GETPIVOTDATA) em conjunto com referências de filtro ou Filtro de Relatório
Embora o Excel não ofereça um método puramente nativo para vincular diretamente o filtro de uma Tabela Dinâmica a uma célula, você pode alcançar relatórios dinâmicos e exibir valores relevantes com fórmulas como GETPIVOTDATA em combinação com filtros ou filtros de relatórios. Essa solução é útil quando você deseja construir painéis onde os valores resumidos são atualizados instantaneamente com base em uma seleção de filtro ou outra entrada de célula, tornando a análise de dados mais interativa.
Os cenários aplicáveis incluem painéis de relatórios dinâmicos, painéis ou resumos comparativos onde você deseja que o resultado exibido siga as seleções do filtro, ou reflita dados relacionados ao conteúdo de uma célula. A principal vantagem é que esse método funciona bem para exibir dados resumidos atualizados. No entanto, o estado real do filtro da tabela dinâmica não pode ser definido programaticamente apenas por fórmulas de célula.
Exemplo: Exibindo o resumo da Tabela Dinâmica com base em um valor de célula
Suponha que você tenha uma Tabela Dinâmica resumindo vendas por Categoria (por exemplo, “Vendas”, “Despesas”). Você pode usar GETPIVOTDATA para extrair o valor relevante para uma categoria especificada em uma célula.
1. Suponha que a célula H6 contenha a categoria que você deseja exibir (por exemplo, “Vendas”). Coloque a seguinte fórmula na célula de resumo (por exemplo, I6):
=GETPIVOTDATA("Sum of Amount",$B$4,"Category",H6)
2. Após inserir a fórmula em I6, pressione Enter. Agora, sempre que você alterar H6 para uma categoria válida (como "Despesas" ou "Vendas"), I6 será atualizado instantaneamente para mostrar o total dessa categoria, de acordo com a Tabela Dinâmica atual.
- O primeiro argumento “Soma de Valor” deve ser substituído pelo nome real do campo Valores na sua Tabela Dinâmica (por exemplo, "Total de Vendas" ou qualquer rótulo que seus valores usem). Da mesma forma, $B$4 deve ser substituído pela referência a qualquer célula específica dentro da sua Tabela Dinâmica — o Excel reconhecerá automaticamente essa referência e a associará à Tabela Dinâmica correta para que a função GETPIVOTDATA funcione corretamente.
- Para obter sua sintaxe GETPIVOTDATA precisa, clique em uma célula da sua Tabela Dinâmica e tente fazer referência a um valor — o Excel gerará automaticamente a sintaxe correta. Certifique-se de que H6 corresponda a uma das categorias disponíveis na tabela para resultados precisos.
Dica: Embora esse método não altere o filtro dentro da própria Tabela Dinâmica, ele exibe efetivamente os dados resultantes como se fossem filtrados pela célula, fornecendo uma exibição dinâmica vinculada à entrada da célula de destino. Você também pode usar esse método para alimentar gráficos, tabelas resumo ou painéis.
Solução de problemas: Se a fórmula retornar um erro #REF! ou #VALUE!, verifique se suas referências de célula estão corretas, se a categoria inserida existe na sua Tabela Dinâmica e se o nome/campo da soma corresponde exatamente.
Outros Métodos Internos do Excel - Conecte os Filtros de Tabela Dinâmica e painéis para filtragem interativa
As ferramentas de Filtro e Slicer do Excel fornecem opções internas amigáveis para filtragem interativa sem escrever código VBA. Você pode usar esses métodos para alcançar um efeito semelhante a um painel, conectando várias Tabelas Dinâmicas ou exibições a um ou mais slicers.
Uma abordagem comum é inserir um Slicer vinculado ao campo da sua Tabela Dinâmica (por exemplo, “Categoria”). Os usuários simplesmente clicam nos itens desejados no slicer e as Tabelas Dinâmicas são atualizadas de acordo. Se você tiver várias Tabelas Dinâmicas baseadas na mesma fonte de dados, pode conectar um único slicer a todas as tabelas para filtragem sincronizada, tornando sua interface de relatórios mais intuitiva e consistente.
Para criar um slicer e vinculá-lo:
- Clique na sua Tabela Dinâmica e vá para Analisar Tabela Dinâmica (ou guia Opções, dependendo da versão do Excel) > Inserir Slicer.
- Marque o campo desejado (por exemplo, Categoria) e clique em OK. O slicer aparece na planilha e permite que os usuários filtrem visualmente.
- Para vincular um slicer a várias Tabelas Dinâmicas, clique com o botão direito no slicer, escolha Conexões de Relatório (ou Conexões de Tabela Dinâmica) e marque todas as Tabelas Dinâmicas que deseja sincronizar.
Isso é especialmente poderoso para cenários de painel onde várias visualizações respondem juntas aos filtros dos usuários.
Vantagens: Muito fácil de usar para a maioria das necessidades de filtragem interativa e não requer macros ou código personalizado. Ótimo para painéis ou relatórios compartilhados onde simplicidade e confiabilidade são cruciais. A limitação é que a automação absoluta de célula-para-filtro (vinculação célula-filtro) não é suportada nativamente — a atribuição direta de valor-para-filtro precisa de VBA ou ferramentas externas.
Solução de problemas: Se um slicer não conectar várias Tabelas Dinâmicas, certifique-se de que todas as tabelas sejam construídas a partir do mesmo cache/fonte de dados. A opção Conexões de Relatório só aparece se as tabelas forem compatíveis.
Sugestão de resumo: Ao escolher o método ideal para vincular filtros de Tabela Dinâmica a valores de célula ou criar painéis interativos, considere seu nível necessário de automação, limitações da versão do Excel e se VBA/macros são permitidos no seu ambiente. Para necessidades básicas, slicers e fórmulas (GETPIVOTDATA) fornecem resultados rápidos e robustos. Para automação avançada, a solução VBA oferece maior controle. Sempre verifique se os nomes de campos e itens de filtro são usados consistentemente para resultados precisos. Se ocorrerem erros, verifique os valores de entrada da célula e certifique-se de que todos os nomes correspondam exatamente entre código, fórmulas e o conjunto de dados.
Artigos relacionados:
- Como combinar várias planilhas em uma tabela dinâmica no Excel?
- Como criar uma Tabela Dinâmica a partir de um arquivo de Texto no Excel?
- Como filtrar Tabela Dinâmica com base em um valor específico de célula no Excel?
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para acessar o recurso que você mais precisa...
Office Tab traz interface com abas para o Office e facilita muito seu trabalho
- Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
- Aumente sua produtividade em50% e economize centenas de cliques todos os dias!
Todos os complementos Kutools. Um instalador
O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.





- Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Um instalador, uma licença — configuração em minutos (pronto para MSI)
- Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
- Avaliação completa por30 dias — sem registro e sem cartão de crédito
- Melhor custo-benefício — economize comparado à compra individual de add-ins