Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#65119
Pessoal

Tenho dados mensais em uma tabela dinâmica
Como faço para que, quando eu digitar "Mai" na célula J5,
ele execute a Macro que vai filtrar nesse mês a tabela dinâmica?


Se ajudar, eu achei em um site este código, mas não está funfando aqui:
====================
Private Sub Worksheet_Change(ByVal Target As Range)

'Como Executar A Macro Com Base No Valor Selecionado Da Lista Suspensa No Excel?
'FONTE: https://pt.extendoffice.com/documents/e ... -list.html

If Not Intersect(Target, Range("J6")) Is Nothing Then
Select Case Range("J6")
Case "Mai": Mai 'se Mai na célula J6, e ele roda a macro "Mai"
Case "Jun": Jun
Case "Jul": Jul
End Select
End If
End Sub
====================
MINHA MACRO QUE FILTRA A TAB DINAMICA PELO MÊS:
Sub Mai()

ActiveSheet.PivotTables("Tabela dinâmica10").PivotFields("MÊS").ClearAllFilters
ActiveSheet.PivotTables("Tabela dinâmica10").PivotFields("MÊS").CurrentPage = _
"5/2021"
ActiveSheet.PivotTables("Tabela dinâmica11").PivotFields("MÊS").ClearAllFilters
ActiveSheet.PivotTables("Tabela dinâmica11").PivotFields("MÊS").CurrentPage = _
"5/2021"

End Sub

Agradeço desde já qualquer ajuda, obrigado. ;)

Imagem
#65123
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Texto As String
    Dim arr As Variant
    
    arr = Array("Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez")
      If Not Intersect(Target, Me.Range("J5")) Is Nothing Then
            Texto = Application.WorksheetFunction.Match(Range("J5").Value2, arr, 0)
            Me.PivotTables("Tabela dinâmica10").PivotFields("MÊS").ClearAllFilters
            Me.PivotTables("Tabela dinâmica10").PivotFields("MÊS").CurrentPage = Texto & "/2021"
      End If
End Sub
JacoStein agradeceu por isso

Pessoal Boa noite. Tenho uma planilha, que escrev[…]

Saldos

Olá, estou fazendo um dashboard e tenho um[…]

Deve ter outra forma, mas sugiro que faça n[…]

Tente esta: Acc = CALCULATE ( [Receita], […]

AJUDA COM FUNÇÃO "SE"

O problema não é devido ao uso da fu[…]

Veja no link abaixo se aproveita algo. https://w[…]

Boa tarde a todos. Estou tentando fazer uma valida[…]

Macro para prints de tela

Boa tarde. Veja se ajuda. Sub Macro1() Dim Tela A[…]