Skip to main content

Como filtrar uma Tabela Dinâmica com base em um valor de célula específico no Excel?

Author: Siluvia Last Modified: 2025-06-04

A filtragem de dados em uma Tabela Dinâmica geralmente é feita selecionando itens de uma lista suspensa. No entanto, pode haver situações em que você deseja que a Tabela Dinâmica filtre dinamicamente com base no valor de uma célula específica. Este tutorial fornece uma solução VBA simples para automatizar esse processo, facilitando o gerenciamento e análise eficiente dos seus dados.

A screenshot showing a Pivot Table with a drop-down filter in Excel

Filtrar Tabela Dinâmica com base em um valor de célula específico com código VBA


Filtrar Tabela Dinâmica com base em um valor de célula específico com código VBA

O seguinte código VBA pode ajudá-lo a filtrar uma Tabela Dinâmica dinamicamente com base em um valor de célula específico no Excel. Por favor, siga os passos abaixo.

1. Insira antecipadamente um valor no qual você deseja filtrar a Tabela Dinâmica em uma célula (aqui eu selecionei a célula H6).

2. Abra a planilha que contém a Tabela Dinâmica que você deseja filtrar por valor de célula. Em seguida, clique com o botão direito do mouse na guia da planilha e selecione Visualizar Código no menu de contexto. Veja a captura de tela:

A screenshot showing the View Code option for a worksheet in Excel

3. Na janela aberta do Microsoft Visual Basic for Applications, copie o código VBA abaixo na janela de Código.

Código VBA: Filtrar Tabela Dinâmica com base no valor da 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:H7")) 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

Observações: No código,

1) “Planilha1” é o nome da planilha.
2) “TabelaDinâmica2” é o nome da Tabela Dinâmica.
3) O campo de filtragem na tabela dinâmica é chamado de "Categoria".
4) O valor que você deseja filtrar na tabela dinâmica está colocado na célula H6.
Você pode alterar os valores das variáveis acima conforme necessário.

4. Pressione as teclas Alt + Q para fechar a janela do Microsoft Visual Basic for Applications.

Agora, a Tabela Dinâmica filtrará dinamicamente com base no valor na célula H6, como mostrado na captura de tela abaixo:

A screenshot showing a Pivot Table filtered based on a specific cell value in Excel

Você pode atualizar o valor da célula para aplicar um filtro diferente conforme necessário.

A screenshot showing the result of changing the filter cell value for the Pivot Table in Excel

Nota: Os valores digitados na célula H6 devem corresponder exatamente aos valores na lista suspensa Categoria da Tabela Dinâmica.


Artigos relacionados:

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a 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
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...


O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!