Ir ao conteúdo
  • Cadastre-se

Visual Basic VBA - Verificar se alguma linha está selecionada no Listbox VBA Excel


Posts recomendados

Gente, boa tarde!

 

Alguém teria o código que verificar se alguma linha está selecionada no Listbox VBA Excel?

 

Seria assim:

Tenho um Listbox preenchido, quando clico 2x ele captura a linha selecionada e salva em determinado lugar da planilha. Essa parte já está certa.

Agora, quero adicionar um botão para que, quando eu clique uma vez no listbox e depois clique no botão, faça a mesma função - capturar a linha selecionada e salvar em um determinado lugar da planilha.

 

Resumindo: o que eu quero é:

 

1 - testar se o listbox está selecionado (se não estiver, ele exibe mensagem e sai da rotina);

 

Só isso mesmo. O restante já fiz tudinho. Quem puder me ajudar, agradeço desde agora!!!

 

Link para o comentário
Compartilhar em outros sites

Seria mais ou menos assim: 

Dim i     As Integer
Dim bNSel As Boolean

bNSel = False

With Me.Listbox1

        If .ListCount = 0 Then Exit Sub

            For i = 0 To .ListCount - 1
                If .Selected(i) = True Then
                   bNSel = True
                End If
            Next i
            
        If bNSel = False Then
             MsgBox "Item não foi selecionado"
             Exit Sub
        End If
End With

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

18 horas atrás, Basole disse:

Seria mais ou menos assim: 


Dim i     As Integer
Dim bNSel As Boolean

bNSel = False

With Me.Listbox1

        If .ListCount = 0 Then Exit Sub

            For i = 0 To .ListCount - 1
                If .Selected(i) = True Then
                   bNSel = True
                End If
            Next i
            
        If bNSel = False Then
             MsgBox "Item não foi selecionado"
             Exit Sub
        End If
End With

 

Resolveu perfeitamente!! 

Muito Obrigado Basole!!!

 

 

adicionado 6 minutos depois
18 horas atrás, Basole disse:

Seria mais ou menos assim: 


Dim i     As Integer
Dim bNSel As Boolean

bNSel = False

With Me.Listbox1

        If .ListCount = 0 Then Exit Sub

            For i = 0 To .ListCount - 1
                If .Selected(i) = True Then
                   bNSel = True
                End If
            Next i
            
        If bNSel = False Then
             MsgBox "Item não foi selecionado"
             Exit Sub
        End If
End With

 

Depois do End With coloquei uma Call para ele gerar o procedimento de captura da linha e salvamento na planilha. 

Vi que após verificar e dar andamento à rotina, o programa tira a seleção da linha do listbox. Teria algum modo de manter a seleção da linha? 

 

Resolvi aqui. Vi que tinha uma linha de código para tirar a seleção:

ListBox_Resultado.selected(iListCount) = False

Obrigado!!

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!