MACRO PREENCHER LISTBOX2 CLICANDO LISTA LISTBOX1
Olá Pessoal preciso da ajuda de vocês, fiz diretamente na planilha um cadastramento de serviço e materiais correspondente a cada serviço, usando as próprias células para preenchimento dos dados e botões para salvar, porém também coloquei ListBox1 para visualizar os serviços já cadastrados e a ListBox2 para visualizar os itens de materiais correspondente para cada serviço, porém não estou conseguindo fazer com o que ao clicar em uma das linhas do ListBox1, isto é, selecionando um serviço, chamar o preenchimento da ListBox2 somente dos itens dos materiais cadastrado para aquele serviço selecionado na ListBox1.
Segue em anexo um modelo do que eu preciso.
JSILVA
Segue em anexo um modelo do que eu preciso.
JSILVA
A solução é simples:
Private Sub ListBox1_Click()
Dim linha As Integer
Dim itenslistbox As Integer
[ô]
SetCampoCad
[ô]
Set LinhaProcBDAtiv = ShtBDAtiv.Columns([Ô]A:A[Ô]).Find(ShtCad.ListBox1, LOOKAT:=xlWhole)
[ô]
For a = 0 To 4
CampoCad(a) = LinhaProcBDAtiv.Offset(0, a).Value
Next
[ô]Limpa listbox2
ShtCad.ListBox2.Clear
linha = 1
itenslistbox = 0
While ShtBDMat.Cells(linha, 1) <> [Ô][Ô]
[ô]
[ô]A função TRIM retira espaços em branco antes depois do texto
If Trim(ShtBDMat.Cells(linha, 1).Value) = Trim(ShtCad.ListBox1.Value) Then
ShtCad.ListBox2.AddItem
[ô]
ShtCad.ListBox2.List(itenslistbox, 0) = ShtBDMat.Cells(linha, 2) [ô]número do item
ShtCad.ListBox2.List(itenslistbox, 1) = ShtBDMat.Cells(linha, 3) [ô]codigo
ShtCad.ListBox2.List(itenslistbox, 2) = ShtBDMat.Cells(linha, 4) [ô]descrição
ShtCad.ListBox2.List(itenslistbox, 3) = ShtBDMat.Cells(linha, 5) [ô]qte
ShtCad.ListBox2.List(itenslistbox, 4) = ShtBDMat.Cells(linha, 7) [ô]vr unit
ShtCad.ListBox2.List(itenslistbox, 5) = ShtBDMat.Cells(linha, 8) [ô]vr total
[ô]
itenslistbox = itenslistbox + 1
End If
[ô]
linha = linha + 1
Wend
End Sub
ASHKATCHUP, bom dia, obrigado por me responder, era isso mesmo que esperava.
Valeu.
Valeu.
Boa tarde, o código postado anteriormente deu certo, mas quando uso o código abaixo para quando selecionar o item do material na lista do listbox2 aparecendo os dados nos campos definidos (SetCampoCad) e tendo os registros diferentes e os números dos itens iguais, exemplo (Registro 1 Item 1, Registro 2 Item 1) , o código abaixo busca os dados somente do item 1 do primeiro cadastro mesmo estando selecionado o Registro 2.
Jsilva
Private Sub ListBox2_Click()
SetCampoCad
Set LinhaProcBDMat = ShtBDMat.Columns([Ô]B:B[Ô]).Find(ShtCad.ListBox2, LOOKAT:=xlWhole)
For a = 4 To 10
CampoCad(a) = LinhaProcBDMat.Offset(0, a - 4).Value
Next
End Sub
Jsilva
Faça seu login para responder