Ir para o conteúdo principal

Como vincular o filtro Pivot Table a uma determinada célula no Excel?

Autor: Siluvia Última modificação: 2022-06-23

Se você deseja vincular um filtro de Tabela Dinâmica a uma determinada célula e filtrar a Tabela Dinâmica com base no valor da célula, o método neste artigo pode ajudá-lo.

Vincular o filtro da tabela dinâmica a uma determinada célula com o código VBA


Vincular o filtro da tabela dinâmica a uma determinada célula com o código VBA

A Tabela Dinâmica que você vinculará sua função de filtro a um valor de célula deve incluir um campo de filtro (o nome do campo de filtro tem uma função importante no código VBA a seguir).

Veja a Tabela Dinâmica abaixo como exemplo. O campo de filtro na Tabela Dinâmica é chamado Categoria, e inclui dois valores “Despesas"E"Vendas”. Depois de vincular o filtro Tabela Dinâmica a uma célula, os valores da célula que você aplicará ao filtro Tabela Dinâmica devem ser “Despesas” e “Vendas”.

1. Selecione a célula (aqui eu seleciono a célula H6) que você vinculará à função de filtro da Tabela Dinâmica e insira um dos valores do filtro na célula com antecedência.

2. Abra a planilha que contém a Tabela Dinâmica que você vinculará à célula. Clique com o botão direito na guia da planilha e selecione Ver código no menu de contexto. Veja a imagem:

3. No Microsoft Visual Basic para Aplicações janela, copie o código do VBA abaixo para a janela de código.

Código VBA: vincular o filtro da 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 planilha aberta.
2) "Tabela Dinâmica 2”É o nome da Tabela Dinâmica; você vinculará sua função de filtro a uma célula.
3) O campo de filtragem na tabela dinâmica é denominado "Categoria".
4) A célula referenciada é H6. Você pode alterar esses valores de variáveis ​​com base em suas necessidades.

4. aperte o outro + Q chaves para fechar o Microsoft Visual Basic para Aplicações janela.

Agora, a função de filtro da Tabela Dinâmica está vinculada à célula H6.

Atualize a célula H6 e os dados correspondentes na Tabela Dinâmica serão filtrados com base no valor existente. Veja a imagem:

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


Selecione facilmente linhas inteiras com base no valor da célula em uma coluna certian:

O Selecione células específicas utilidade de Kutools for Excel pode ajudá-lo a selecionar rapidamente linhas inteiras com base no valor da célula em uma coluna certian no Excel, conforme a imagem mostrada abaixo. Depois de selecionar todas as linhas com base no valor da célula, você pode movê-las manualmente ou copiá-las para um novo local conforme necessário no Excel.
Baixe e experimente agora! (trilha gratuita de 30 dias)


Artigos relacionados:

Melhores ferramentas de produtividade de escritório

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

Descrição


Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
Comments (38)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,
This code worked perfectly on the pivot table, but I also want to link a filter to a cell value on a Table. Is there code for this? Please help :)
This comment was minimized by the moderator on the site
if my column in pivot table is date this code not working, can some one help me please
This comment was minimized by the moderator on the site
Можно ли сослаться вместо ячейки H6 на ячейку на другом листе? как это сделать? подскажите пожалуйста.
This comment was minimized by the moderator on the site
Hi Алексей,

You don't need to modify the code, just add the VBA code to the worksheet of the cell you want to reference.
For example, if you want to filter a pivot table named "PivotTable1" in Sheet2 based on the value of cell H6 in Sheet3, please right click the Sheet3 worksheet tab, click View Code from the right-clicking menu, and then add the code to the Sheet3 (Code) window.
This comment was minimized by the moderator on the site
Как сделать чтобы сводная таблица применяла сразу 2 фильтра из 2хразных ячеек? а не 1 как в примере?
This comment was minimized by the moderator on the site
Hi Алексей,

Please check if the VBA code in this comment #38754 can help.
This comment was minimized by the moderator on the site
find these and change it in Array(),Intersect(), Worksheets(), PivotFields()

PivotTable1
PivotTable2
PivotTable3
PivotTable4
H1
SheetName
FieldName




Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xPTabled As PivotTable
    Dim xPFiled As PivotField
    Dim xStr As String
    On Error Resume Next
    '리스트 만들기
    Dim listArray() As Variant
    listArray = Array("PivotTable1", "PivotTable2", "PivotTable3", "PivotTable4")
    If Intersect(Target, Range("H1")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    For i = 0 To UBound(listArray)
        Set xPTable = Worksheets("SheetName").PivotTables(listArray(i))
        Set xPFile = xPTable.PivotFields("FieldName")
        'MsgBox (listArray(i))
        xStr = Target.Text
        xPFile.ClearAllFilters
        xPFile.CurrentPage = xStr
    Next
        Application.ScreenUpdating = True
End Sub
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations