Marcar vários filtros na tabela dinâmica automaticamente – VBA

Planilha para importar NFE - Excel VBA
Planilha para importar NFE – Excel VBA
29 de julho de 2014
Superarq3 - Planilha de cadastro de pessoas físicas e acervos - Excel
Superarq3 – Planilha de cadastro de pessoas físicas e acervos – Excel
17 de agosto de 2014

Marcar vários filtros na tabela dinâmica automaticamente – VBA

Objetivo: Marcar vários filtros na tabela dinâmica automaticamente – VBA.

Atualização power pivot

Esta planilha foi criada pelo meu amigo Edney Nascimento, ao qual agradeço pela colaboração com o site.

A planilha consiste em marcar nas checkbox as marcações dos dias nas tabelas dinâmicas de forma automática.

Abaixo o código fonte:

Sub AtualizarDia()
On Error GoTo ErroAtualizarDia

Dim PrimeiraLinhaDW As Long, UltimaLinhaDW As Long, NomeTabelaDW As String

PrimeiraLinhaDW = 2
UltimaLinhaDW = Sheets("PARAMETROS").Cells(2, 1).End(xlDown).Row

'Executa o processo conforme a quantidade de tabelas dinâmicas existentes
For i = PrimeiraLinhaDW To UltimaLinhaDW
     NomeTabelaDW = Sheets("PARAMETROS").Cells(i, 1).Text
     
     'Atualiza a tabela dinâmica somente na 1ª vez que o processo é executado
     If i = 2 Then
          ActiveSheet.PivotTables(NomeTabelaDW).PivotCache.Refresh
     End If

     'Limpa os filtros
     ActiveSheet.PivotTables(NomeTabelaDW).PivotFields("Dia").ClearAllFilters

     'Executa o processo para cada um dos dias do mês
     For j = 1 To 31
          ActiveSheet.PivotTables(NomeTabelaDW).PivotFields("DIA").PivotItems(j).Visible = Worksheets("PARAMETROS").Cells(j + 1, 6).Value
     Next j
     
Next i

Fim:
     Exit Sub

ErroAtualizarDia:
    
     If Err.Number = 1004 Then
          Resume Next
     Else
          Mensagem = Err.Number & " " & Err.Description
          MsgBox Mensagem, vbInformation, Titulo
     End If

End Sub


Sub MarcarTudo()

For i = 2 To 32
     Sheets("PARAMETROS").Cells(i, 5).Value = True
Next i
     
End Sub

Sub DesmarcarTudo()

For i = 2 To 32
     Sheets("PARAMETROS").Cells(i, 5).Value = False
Next i

End Sub

DIGITE O SEU EMAIL PARA FAZER O DOWNLOAD DOS ARQUIVOS:

Abraço

Marcos Rieper

 


Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui você encontra tudo sobre Excel, seja de nível básico, intermediário,  avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
Cursos

Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado – Acesso Vitalício

R$218,00 R$179,00

COMPRAR
Cursos

Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso VBA Excel + LP – Acesso Vitalício

R$357,00 R$249,00

COMPRAR
Cursos

Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de programação – Acesso Vitalício

R$258,00 R$199,00

COMPRAR
Cursos

Curso Excel Web – Curso VBA Excel + Lógica de programação + Curso Web Scraping VBA- Acesso Vitalício

R$388,90 R$309,00

COMPRAR

5 Comentários

  1. Kairton disse:

    Bom Dia.

    Gostaria de saber se teria como criar uma planilha no moldes dessa daí só que listase contas vencidas…

    Exemplo: Eu tenho uma planilha onde anoto os vencimentos de meus clientes e usei algumas formulas para identificar titulos vencidos e em dias… Queria criar algo que eu pudesse filtrar apenas os vencidos através de um macro como este, onde eu marcasse o dia de vencimento e ele me listasse apenas as contas vencidas… Fico grato se alguem puder me passar alguma informação… vlw…

  2. Eustáquio Mota da Costa disse:

    Bom dia. Já pesquisei vários sites e não encontrei uma resposta objetiva. Como selecionar, numa tabela dinâmica, somente os “PivotItems” com valores maiores que 90 e desmarcar os inferiores.

  3. Amanda disse:

    Olá, não consigo baixar o arquivo de exemplo. Poderiam enviar no e-mail engenheira.a.soarez@gmail.com?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.