Neste artigo aprenderá como usar segmentação de dados no Excel. Como ocultar segmentação e reexibir com VBA no Excel.
Download da Planilha de Filtro de Sistema no Excel
O que é Segmentação de Dados
Quando trabalhamos com dados no Excel uma das necessidades que temos é filtrar dados para exibir somente dados que estamos analisando.
Neste sentido podemos usar o filtro no Excel e termos os dados filtrados ao topo de tabelas ou listas.
Para esse filtro manual, basta clicar na guia Dados->Filtro e com isso pode realizar filtros clicando nos itens que deseja exibir, ou por data, por texto…
No sentido de facilitar este trabalho Foi criada a segmentação de dados no Excel.
Este recurso é uma ferramenta muito prática que permite a filtragem de dados à partir de botões criados dinamicamente à partir da origem dos dados.
Este filtro visual se conecta a base de dados e ao clicar os dados são automaticamente filtrados, como temos também no filtro manual anteriormente comentado.
Por que Usar Segmentação de Dados
O filtro visual no Excel é muito prático, ele permite que o filtro dos dados seja realizado sem a necessidade de clicar no cabeçalho, abrir a lista, e fazer a aplicação dos filtros, selecionando os itens.
É como se a segmentação de dados fosse já um filtro que temos, mas aberto diretamente na interface de seleção, com botões dimensionáveis, cores, posicionamento e quantidade que podem ser configuráveis.
Neste sentido o slicer facilita muito a consulta de dados quando temos informações que desejamos permitir que o cliente realize filtros manuais.
Como Usar Segmentação de Dados no Excel
Para usar segmentação de dados no Excel primeiro é necessário que os dados estejam em uma Tabela de dados do Excel ou em uma Tabela Dinâmica.
Caso seus dados estejam em formato de lista e queira transformar em Tabela de dados, selecione a lista, que deve ter um cabeçalho e os dados do mesmo tipo dispostos abaixo em cada coluna.
Em seguida selecione os dados e clique na guia Inserir e selecione Tabela.
Na tela seguinte clique e marque se a sua tabela possui cabeçalhos e pronto, a sua tabela está criada.
Para aplicar o slicer em uma tabela é muito simples.
Clique sobre a Tabela de Dados do Excel ou sobre a Tabela Dinâmica e clique na guia Inserir e selecione Segmentação de Dados.
No formulário basta selecionar as segmentações de dados que deseja criar para a sua tabela e elas serão criadas automaticamente no Excel.
Como Configurar Segmentação de Dados no Excel
O filtro visual no Excel permite várias configurações, como de cores, quantidade de botões por linha, se irá permitir a multisseleção ou não, exibir ou ocultar o cabeçalho, entre outras ligadas a forma, como temos em objetos de imagem no Excel.
Para mudar a cor do filtro visual de dados clique sobre ela, em seguida em Estilos de Segmentação de Dados pode selecionar a cor que desejar ou ainda criar seu próprio estilo.
Para criar seu próprio estilo clique em Segmentação->Estilos de Segmentação de Dados->Novo Estilo de Segmentação de Dados.
No estilo de há 10 formatos que podem ser configurados no slicer.
Além disso, clicando com o botão direito sobre o slicer e clicando em Configurações de Segmentação de Dados pode realizar ainda outras configurações.
- Nome da segmentação: Nome que o slicer terá no VBA e também no painel de seleção do Excel.
- Classificação de filtragem de item: Muda a classificação dos botões de filtragem visual para que fiquem organizados em ordem crescente ou decrescente.
- Usar Listas Personalizadas ao classificar: Se devem ser utilizadas listas personalizadas ou não para a classificação dos itens. Se tiverem listas personalizadas elas serão aplicadas automaticamente para classificar.
- Ocultar itens sem dados: Este botão é muito útil, ele permite que sejam ocultos itens do filtro.
- Indicar itens sem dados visualmente: É uma cor aplicada a itens sem dados no filtro visual.
- Mostrar itens sem dados por último: Coloca os itens sem dados abaixo dos itens com dados na segmentação de dados do Excel.
Como Ocultar Segmentação de Dados no Excel com VBA
Nesse exemplo você aprenderá como ocultar e reexibir segmentação de dados no Excel automaticamente com um clique de botão usando VBA. Aqui criamos uma segmentação de dados para criar um filtro de sistema no Excel.
Para criar uma segmentação de dados como de sistema, que ao clicar em um botão ela oculta ou exibe o filtro visual automaticamente.
Para fazer isso, primeiro habilite a guia desenvolvedor conforme temos neste artigo: Habilitar Guia Desenvolvedor.
Após isso coloque o código VBA abaixo no VBE, clicando em Inserir->Módulo e cole o código.
Código VBA para Ocultar e Exibir Segmentação de Dados Excel
O código abaixo permite alterar entre ocultar e exibir o slicer no Excel.
Public Sub lsAlternarSlicer(nomeSlicer As String)
If ActiveSheet.Shapes.Range(Array(nomeSlicer)).Visible = True Then
ActiveSheet.Shapes.Range(Array(nomeSlicer)).Visible = False
Else
ActiveSheet.Shapes.Range(Array(nomeSlicer)).Visible = True
End If
End Sub
Para aplicar este código é necessário que para cada uma das segmentações de dados seja criado o código abaixo, por exemplo para Filtrar Departamento clique na segmentação de dados, botão direito e copie o nome da segmentação.
No código mude no cabeçalho conforme o nome do slicer e altere o código para o nome do slicer no código abaixo.
Public Sub lsSlicerDepartamento()
lsAlternarSlicer "Departamento"
End Sub
Após isso já está disponível o código de ocultar e exibir segmentação de dados no Excel.
Este código pode ser chamado diretamente no Excel ou clicando em uma imagem com o botão direito selecionar a opção Atribuir Macro e selecionar a macro lsSlicerDepartamento.
Faça o mesmo procedimento para os demais slicers.
Public Sub lsSlicerDepartamento()
lsAlternarSlicer "Departamento"
End Sub
Public Sub lsSlicerMetas()
lsAlternarSlicer "Metas Atingidas"
End Sub
Public Sub lsSlicerGeracao()
lsAlternarSlicer "Geração"
End Sub
Public Sub lsSlicerMeses()
lsAlternarSlicer "Meses"
End Sub
Limpar Todas as Segmentações de Dados Excel VBA
Para limpar todos os filtros aplicados em segmentações de dados no Excel usamos o seguinte código VBA.
Sub lsLimparSlicers()
Dim sc As SlicerCache
Dim sl As Slicer
' Percorre todos os SlicerCaches no workbook
For Each sc In ThisWorkbook.SlicerCaches
' Percorre todos os Slicers no SlicerCache
For Each sl In sc.Slicers
' Limpa o filtro do Slicer
sc.ClearManualFilter
Next sl
Next sc
End Sub
Após isso basta clicar com o botão direito em uma imagem e selecionar a opção Atribuir Macro e selecionar a macro lsLimparSlicers.
Ao executar esta macro todas as segmentações de dados serão automaticamente limpas.
Conclusão
O uso de filtros visuais no Excel permite que tenhamos um aspecto mais visual e profissional dos dados no Excel, facilitando o filtro das informações ao clicar sobre as segmentações.
Neste artigo você aprendeu como criar os slicers, alterar sua aparência e como aplicar VBA para ocultar e reexibir os mesmos no Excel, dando então um aspecto de filtro de sistema na sua tabela Excel.