none
Filtro no excel 2010 RRS feed

  • Pergunta

  • Bom dia,

     Excel 2010  Filtros  -  Alguém pode me ajudar, por favor, procurei na internet, nos help's e não consigo fazer funcionar.

    No filtro o caminho normal é clicar com o botão da direita do mouse em cima da célula que queira filtrar e executar a ação “filtrar por valor da célula selecionada”.

    O que preciso é estando selecionado qualquer item de uma linha, por exemplo, “Rodrigo” ou “Tecnoinfo”, clicar em um botão e filtrar uma célula especifica, por exemplo, “Estado”, com uma ação igual a “filtrar por valor da célula selecionada”.

    Botão filtrar Estado

    Linha

    Nome

    Telefone

    Idade

    Empresa

    Cargo

    Estado

    País

    1

    Maria

    27

    MVcarga

    Assistente

    SP

    BR

    2

    João

    28

    Gol

    Diretor

    RJ

    3

    Carlos

    29

    TAM

    Presidente

    RS

    4

    Rodrigo

    30

    Tecnoinfo

    Ajudante

    SP

    BR

    5

    Antônio

    31

    BRmalls

    Dono

    MG

    Após o filtro

    Linha

    Nome

    Telefone

    Idade

    Empresa

    Cargo

    Estado

    País

    1

    Maria

    27

    MVcarga

    Assistente

    SP

    BR

    4

    Rodrigo

    30

    Tecnoinfo

    Ajudante

    SP

    BR

    Desde já agradeço

    Obrigado

    Sérgio Warlin

    quinta-feira, 1 de agosto de 2013 21:46

Respostas

  • Estou considerando que o cabeçalho "Linha" está na célula A1:

    Sub fFiltrar()
        Dim wks As Worksheet
        Set wks = ActiveSheet
        With wks
            On Error Resume Next
            .ShowAllData
            On Error GoTo 0
            If ActiveCell <> "" Then
                .Range("A1").CurrentRegion.AutoFilter 7 _
                , .Cells(ActiveCell.Row, 7)
            End If
        End With
    End Sub
    
    Sub fLimparFiltro()
        On Error Resume Next
        ActiveSheet.ShowAllData
    End Sub

    Veja que adicionei a subrotina extra fLimparFiltro porque julguei necessária.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 2 de agosto de 2013 23:01
    Moderador

Todas as Respostas

  • Estou considerando que o cabeçalho "Linha" está na célula A1:

    Sub fFiltrar()
        Dim wks As Worksheet
        Set wks = ActiveSheet
        With wks
            On Error Resume Next
            .ShowAllData
            On Error GoTo 0
            If ActiveCell <> "" Then
                .Range("A1").CurrentRegion.AutoFilter 7 _
                , .Cells(ActiveCell.Row, 7)
            End If
        End With
    End Sub
    
    Sub fLimparFiltro()
        On Error Resume Next
        ActiveSheet.ShowAllData
    End Sub

    Veja que adicionei a subrotina extra fLimparFiltro porque julguei necessária.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 2 de agosto de 2013 23:01
    Moderador
  • Funcionou perfeitamente, muito obrigado pela solução simples de algo que para mim era bastante complexo. Tenho que voltar a estudar vba se quiser entrar nestas empreitadas.

    Um abraço

    Muito obrigado

    Sergio Warlin

    quinta-feira, 8 de agosto de 2013 23:46