Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Dúvida VBA EXCEL Segmentação de Dados

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Michel de Oliveira
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qua Jun 24, 2020 11:56 am

Dúvida VBA EXCEL Segmentação de Dados

Mensagem por Michel de Oliveira »

Boa tarde,
Presciso de um help, tenho uma planilha com uma lista de nomes presciso montar uma macro quando ativada ela deixa selecionada somente o primeiro item da Segmentação de Dados.

Podem me dar uma luz um help. Ops


Att.
Michel de Oliveira


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Jahezer
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Jun 02, 2020 4:15 pm

Re: Dúvida VBA EXCEL Segmentação de Dados

Mensagem por Jahezer »

Michel de Oliveira escreveu: Qua Jun 24, 2020 2:16 pm Boa tarde,
Presciso de um help, tenho uma planilha com uma lista de nomes presciso montar uma macro quando ativada ela deixa selecionada somente o primeiro item da Segmentação de Dados.

Podem me dar uma luz um help. Ops


Att.
Michel de Oliveira
Michel, boa noite!

Fiz a criação de um código VBA que efetua esse processo, veja se te ajuda.

Código: Selecionar todos

Sub SelecionaPrimeiroItem()
    ' vsLoop            = Usado para estrutura de repetição.
    ' vsNomeSegmentacao = Nome definido na segmentação de dados.
    Dim vsLoop As Long
    Dim vsNomeSegmentacao As String
    
    ' Recebe o nome definido na segmentação de dados.
    vsNomeSegmentacao = "SegmentaçãodeDados_Nome"
    
    ' Varre todas as opções da segmentação de dados.
    With ActiveWorkbook.SlicerCaches(vsNomeSegmentacao)
        For vsLoop = 1 To .SlicerItems.Count
            ' Se for o primeiro item, mantem selecionado, senão remove a seleção.
            If vsLoop = 1 Then
                .SlicerItems(vsLoop).Selected = True
            Else
                .SlicerItems(vsLoop).Selected = False
            End If
        Next
    End With
End Sub
Demonstração da execução
Imagem

Estou deixando em anexo o arquivo zipado do Excel com a macro para download se julgar necessário.
Anexos
SegmentacaoDados.zip
(18.27 KiB) Baixado 210 vezes


Michel de Oliveira
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qua Jun 24, 2020 11:56 am

Re: Dúvida VBA EXCEL Segmentação de Dados

Mensagem por Michel de Oliveira »

Bom dia a todos,
Jahezer, obrigado pela ajuda, funcionou, ele demora um pouquinho para fazer 6s, tem uma forma de otimizar os loopings, já está funcionando obrigado.


Avatar do usuário
Jahezer
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Jun 02, 2020 4:15 pm

Re: Dúvida VBA EXCEL Segmentação de Dados

Mensagem por Jahezer »

Michel, boa tarde!

Que bom que consegui te ajudar! Acredito que o tempo é devido a quantidade de registros no Excel :D


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder