none
Filtrar tabela dinamica com VBA RRS feed

  • Pergunta

  • Boa tarde,

    Estou precisando filtrar uma tabela dinâmica utilizando VBA. O objetivo é alterar o mês de acordo com parametro informado. No código abaixo, informo o nome da tabela através da variável LTabela e o mês a ser filtrado através da variável LMes.

    No código abaixo, se o mês de Fevereiro estiver filtrado eu eu quiser filtrar Março (LMes=Março), quando chega na parte do código "        .PivotItems("FEVEREIRO").Visible = False", apresenta "Erro em tempo de execução '1004'. Não é possível definir a propriedade Visible da classe PivotItem"

    Private Sub FiltrarTabela(LAno As String, LMes As String, LTabela As String)

        Sheets("Tabela").Select
        
        ActiveSheet.PivotTables(LTabela).PivotFields("MES").CurrentPage = "(All)"
        ActiveSheet.PivotTables(LTabela).PivotFields("MES").EnableMultiplePageItems = True
        With ActiveSheet.PivotTables(LTabela).PivotFields("MES")
            
            .PivotItems("JANEIRO").Visible = False
            .PivotItems("FEVEREIRO").Visible = False
            .PivotItems("MARçO").Visible = False
            .PivotItems("ABRIL").Visible = False
            .PivotItems("MAIO").Visible = False
            .PivotItems("JUNHO").Visible = False
            .PivotItems("JULHO").Visible = False
            .PivotItems("AGOSTO").Visible = False
            .PivotItems("SETEMBRO").Visible = False
            .PivotItems("OUTUBRO").Visible = False
            .PivotItems("NOVEMBRO").Visible = False
            .PivotItems("DEZEMBRO").Visible = False
            .PivotItems(LMes).Visible = True 'filtra o mes de acordo com o definido na variavel LMes
            .PivotItems("(blank)").Visible = False
            
          End With
            

    End Sub

    quarta-feira, 28 de março de 2012 16:45

Todas as Respostas