Como ligar o filtro de uma Tabela Dinâmica a uma célula específica no Excel?
No Excel, poderá frequentemente querer criar relatórios interativos em que o filtro Tabela Dinâmica reflita o valor de uma célula específica. Isto permite aos utilizadores selecionar ou introduzir um valor de filtro num único local e ter a Tabela Dinâmica atualizada dinamicamente com base nessa entrada. Este método é especialmente útil ao conceber painéis ou interfaces Definir Condições de Filtro para exploração de dados.
Este artigo apresenta várias soluções práticas — incluindo uma abordagem baseada em VBA e outros métodos nativos do Excel — para o ajudar a ligar um filtro de Tabela Dinâmica ao valor de uma célula ou a obter efeitos semelhantes com relatórios dinâmicos.
- Ligar o filtro Tabela Dinâmica a uma determinada célula com código VBA
- Fórmula do Excel – Utilizar fórmulas (por exemplo, GETPIVOTDATA) em conjunto com referências a segmentações ou filtros de relatório
- Outros métodos incorporados do Excel – Ligar Segmentações Tabela Dinâmica e painéis interativos para filtragem interativa
Ligar o filtro Tabela Dinâmica a uma determinada célula com código VBA
Se precisar da ligação mais direta entre uma célula e um filtro de Tabela Dinâmica — de modo que, ao alterar o valor da célula, o filtro da Tabela Dinâmica seja atualizado automaticamente — o VBA oferece uma solução prática para alcançar esse objetivo. Esta abordagem é ideal para painéis ou relatórios interativos em que os utilizadores pretendem controlar rapidamente segmentos de dados a partir de uma única célula.
Para que esta técnica funcione, a sua Tabela Dinâmica deve incluir um campo de filtro. O nome desse campo é essencial para configurar corretamente o código VBA.
Considere o seguinte exemplo: a Tabela Dinâmica tem um campo de filtro denominado Categoria, com dois valores de filtro: «Despesas» e «Vendas». Ao ligar uma célula ao filtro da Tabela Dinâmica, pode controlar os dados apresentados bastando escrever «Despesas» ou «Vendas» na célula escolhida.

Para implementar isto:
- Selecione a célula que pretende utilizar como controlador do filtro (por exemplo, a célula H6) e introduza previamente um dos valores de filtro disponíveis. Certifique-se de que o valor corresponde exatamente ao que consta no campo de filtro da Tabela Dinâmica.
- Aceda à folha de cálculo que contém a sua Tabela Dinâmica. Clique com o botão direito do rato no separador da folha e escolha Ver Código no menu. Isto abre a janela do 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: Ligar o filtro Tabela Dinâmica a uma determinada célula
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:
Após colar o código, prima Alt + Q para fechar a janela do editor VBA e regressar ao Excel.
Agora, o estado do filtro da sua Tabela Dinâmica é controlado pelo conteúdo da célula H6. Basta alterar o valor nessa célula para «Vendas» ou «Despesas» e a apresentação da Tabela Dinâmica atualiza-se imediatamente. Caso surjam problemas, confirme se o valor da célula referenciada corresponde exatamente a uma das opções de filtro disponíveis na Tabela Dinâmica e se os nomes no seu código estão corretamente atribuídos.

Sempre que alterar o conteúdo da célula, a Tabela Dinâmica atualiza automaticamente os seus dados filtrados em conformidade.

Dicas e resoluçã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 poderá não aplicar o filtro conforme esperado. Certifique-se sempre de que os nomes dos campos e das tabelas estão escritos corretamente no código VBA. Caso pretenda utilizar esta configuração em várias Tabelas Dinâmicas, pode adaptar ainda mais o código ou expandi-lo recorrendo a ciclos.

Desbloqueie a Magia do Excel com KUTOOLS AI
- Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
- Programação VBA: Escreva e implemente código VBA com facilidade.
- Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
- Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Fórmula do Excel – Utilizar fórmulas (por exemplo, GETPIVOTDATA) em conjunto com referências a segmentações ou filtros de relatório
Embora o Excel não ofereça um método puramente nativo baseado em fórmulas para ligar diretamente o filtro de uma Tabela Dinâmica a uma célula, pode criar relatórios dinâmicos e apresentar valores relevantes com fórmulas como GETPIVOTDATA, combinadas com segmentações ou filtros de relatório. Esta solução é ideal quando pretende desenvolver painéis cujos valores resumo se atualizam instantaneamente com base numa seleção de filtro ou na entrada de outra célula — tornando a análise de dados mais interativa e eficaz.
Os cenários ideais incluem painéis de relatórios dinâmicos, painéis interativos ou resumos comparativos em que deseja que os resultados exibidos acompanhem as seleções da segmentação ou reflitam dados relacionados com o conteúdo de uma célula. A principal vantagem é que este método é altamente eficaz para apresentar dados resumo sempre atualizados. Contudo, o estado real do filtro da Tabela Dinâmica não pode ser definido programaticamente apenas através de uma fórmula de célula.
Exemplo: Apresentar o resumo da Tabela Dinâmica com base no valor de uma célula
Suponha que tem uma Tabela Dinâmica que resume as vendas por Categoria (por exemplo, «Vendas», «Despesas»). Pode utilizar a função GETPIVOTDATA para extrair o valor correspondente a uma categoria especificada numa célula.
1. Suponha que a célula H6 contém a categoria que pretende apresentar (por exemplo, «Vendas»). Insira a seguinte fórmula na sua célula de resumo (por exemplo, I6):
=GETPIVOTDATA("Sum of Amount",$B$4,"Category",H6) 2. Após introduzir a fórmula em I6, prima Enter. A partir de agora, sempre que alterar H6 para uma categoria válida (como «Despesas» ou «Vendas»), I6 atualiza imediatamente para mostrar o total dessa categoria, com base na Tabela Dinâmica atual.
- O primeiro argumento «Sum of Amount» deverá ser substituído pelo nome real do campo Valores na sua Tabela Dinâmica (por exemplo, «Total Sales» ou qualquer outra etiqueta utilizada nos seus dados). Da mesma forma, $B$4 deverá ser substituído pela referência a uma célula específica dentro da sua Tabela Dinâmica — o Excel reconhecerá automaticamente essa referência e associá-la-á à Tabela Dinâmica correta, garantindo que a função GETPIVOTDATA funcione como esperado.
- Para obter a sintaxe exata da função GETPIVOTDATA, clique numa célula da sua Tabela Dinâmica e faça referência a um valor — o Excel gera automaticamente a sintaxe correta. Certifique-se de que H6 corresponde a uma das categorias disponíveis na tabela para garantir resultados precisos.
Dica: Embora este método não altere o filtro na própria Tabela Dinâmica, exibe os dados resultantes como se estivessem filtrados pela célula, oferecendo uma apresentação dinâmica vinculada à entrada da sua célula-alvo. Pode ainda usar este método para alimentar gráficos, tabelas resumo ou painéis.
Resolução de problemas: Se a fórmula devolver um erro #REF! ou #VALUE!, verifique se as suas referências de célula estão corretas, se a categoria inserida existe na sua Tabela Dinâmica e se o nome do campo/soma corresponde exatamente.
Outros métodos incorporados do Excel – Ligar Segmentações Tabela Dinâmica e painéis interativos para filtragem interativa
As ferramentas Segmentação e Filtro de Relatório do Excel oferecem opções incorporadas e intuitivas para filtragem interativa, sem necessidade de escrever código VBA. Com elas, pode criar um efeito semelhante ao de um painel, ligando várias Tabelas Dinâmicas ou apresentações a uma ou mais segmentações.
Uma abordagem comum consiste em inserir uma Segmentação ligada ao seu campo de Tabela Dinâmica (por exemplo, «Categoria»). Os utilizadores clicam simplesmente nos itens pretendidos na segmentação e a(s) Tabela(s) Dinâmica(s) atualiza(m)-se em conformidade. Se tiver várias Tabelas Dinâmicas baseadas no mesmo intervalo de origem, pode ligar uma única segmentação a todas as tabelas para obter uma filtragem sincronizada, tornando a sua interface de relatórios mais intuitiva e consistente.
Para criar uma segmentação e ligá-la:
- Clique na sua Tabela Dinâmica e aceda a Analisar Tabela Dinâmica(ou ao separador)Opções, consoante a versão do Excel) > Inserir Segmentação.
- Marque o campo pretendido (por exemplo,)Categoria) e clique em OK. A segmentação aparece na folha, permitindo aos utilizadores filtrar visualmente.
- Para ligar uma segmentação a várias Tabelas Dinâmicas, clique com o botão direito do rato na segmentação, escolha Ligações de Relatório(ou)Ligações de Tabela Dinâmica) e selecione todas as Tabelas Dinâmicas que deseja sincronizar.
Isto é especialmente útil em cenários de painéis, onde diversas visualizações respondem em conjunto aos filtros definidos pelo utilizador.
Vantagens: extremamente fácil de utilizar na maioria das necessidades de filtragem interativa, sem exigir macros nem código personalizado. Ideal para painéis ou relatórios partilhados onde a simplicidade e a fiabilidade são essenciais. A limitação reside no facto de a automação célula-para-filtro (ligação direta valor-para-filtro) não ser suportada de forma nativa — essa atribuição direta exige VBA ou ferramentas externas.
Resolução de problemas: Se uma segmentação não estiver ligada a várias Tabelas Dinâmicas, certifique-se de que todas as tabelas foram criadas a partir da mesma cache ou intervalo de origem. A opção Ligações de Relatório só aparece se as tabelas forem compatíveis.
Sugestão resumo: Ao escolher o método ideal para ligar filtros Tabela Dinâmica a valores de células ou criar painéis interativos, considere o nível de automação necessário, os limites da versão do Excel e se o uso de VBA/macro é permitido no seu ambiente. Para necessidades básicas, segmentações de dados e fórmulas (GETPIVOTDATA) oferecem resultados rápidos e robustos. Para automação avançada, a solução em VBA proporciona maior controlo. Verifique sempre que Nome da condição e os itens do filtro são utilizados de forma consistente para obter resultados precisos. Se surgirem erros, verifique os valores introduzidos nas células e certifique-se de que todos os nomes coincidem exatamente entre o código, as fórmulas e o conjunto de dados.
Artigos relacionados:
- Como combinar várias folhas numa Tabela Dinâmica no Excel?
- Como criar uma Tabela Dinâmica a partir de Arquivo de Texto no Excel?
- Como filtrar Tabela Dinâmica com base no valor de uma célula específica no Excel?
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos