Ir ao conteúdo
  • Cadastre-se

Visual Basic Selecionar Item no Listbox1 e simultaneamente no Listbox2


Ir à solução Resolvido por Basole,

Posts recomendados

olá... todos bem por aqui????

tenho multipage com 2 listbox; a planilha origem possui varias colunas entao preferi dividir em 2 listbox, mas essa parte ta ok... ambos tem a coluna "cliente" que sera a referencia no tratamento da questao;
quero marcar o item no evento click do listbox1 e simultaneamente marca-lo no listbox2... qd clico no "cliente x" do listbox1 simultaneamente seleciona e marca a linha do "cliente x" no listbox 2 e assim sempre q clicar em um cliente no listbox1.
somente isso q preciso.
alguem pode ajudar???
obrigado. abraços

Marcar item listbox 1 e 2.rar

Link para o comentário
Compartilhar em outros sites

  • Solução

Segue sugestao: 
Na page1 selecionando um item no listbox1 o mesmo item do listbox2, tambem é selecionado.

Private Sub ListBox1_Click()
Dim i As Long

    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ListBox2.Selected(i) = True
        Exit For
        End If
    Next i

End Sub

Na Page2 idem, tambem caso selecione um item (listbox2),  no listbox1 o item sera selecionado.

Private Sub ListBox2_Click()
Dim i As Long

    For i = 0 To ListBox2.ListCount - 1
        If ListBox2.Selected(i) = True Then
            ListBox1.Selected(i) = True
        Exit For
        End If
    Next i

End Sub

Dicas:

1- Não uttilize o evento Change do listbox,e sim o Exit, pois nesse caso entra em loop.

2- a Propriedade RowSource deixa o listbox literamente amarrada aos dados da planilha, ai quando que usar a propriedade .Clear, para limpar os dados gera um erro. Quando se usa RowSOurce, ou voce limpa os dados da planilha, ou desvindula o RowSource = ""   ai voce pode limpar os dados atraves do clear.

Para carregar dados voce pode utilizar a propriedade List. Segue exemplo: 

 

Private Sub UserForm_Initialize()
   Me.MultiPage1.Value = 0
   
   Dim LR As Long
   Dim rngArr As Variant
   
   With ThisWorkbook.Sheets("Vendas")
   .AutoFilterMode = False
  
   LR = .Cells(.Rows.Count, 1).End(xlUp).Row
   rngArr = .Range("A2:G" & LR).Value
   Me.ListBox1.RowSource = ""
   Me.ListBox1.List = rngArr
   End With
      
End Sub

 

 

  • Curtir 1
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!