KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como ligar o filtro de uma Tabela Dinâmica a uma célula específica no Excel?

AutorSiluvia Data de Modificação

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

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.

ligar o filtro da Tabela Dinâmica a uma determinada célula

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.

Clique com o botão direito no separador da folha e selecione Ver Código

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:

1)Sheet1é o nome da folha. Altere-o conforme necessário.
2)PivotTable2é o nome da Tabela Dinâmica. Ajuste de acordo com a sua tabela real.
3) «Category» é o campo a ser filtrado. Certifique-se de que a grafia coincide com o campo da sua tabela.
4)H6é a célula de referência associada ao filtro. Pode modificar o endereço da célula conforme necessário. Certifique-se de que a célula contém sempre um valor de filtro válido presente no seu conjunto de dados.

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.

Atualize a célula e os dados correspondentes serão filtrados com base no valor existente

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

Ao alterar o valor da célula, os dados filtrados na Tabela Dinâmica serão alterados automaticamente.

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.

uma captura de ecrã de kutools for excel ai

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.
Potencie as capacidades do seu Excel com ferramentas alimentadas por IA.Descarregue Agorae experimente uma eficiência como nunca antes!

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.

Notas:
  • 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:

As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

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.

ExcelWordOutlookTabsPowerPoint
  • 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