Boa tarde.
Teria como alguém ajudar-me a solucionar este código.
Desejaria digitar qualquer letra no textbox e preencher a listbox.
Private Sub PesquisaFornecedor_Change() LstFornecedor.Clear valor_pesquisa = PesquisaFornecedor.Text Dim guia As Worksheet Dim linha As Integer Dim coluna As Integer Dim linhalistbox As Integer Dim valor_celula As String Dim soma As Double Set guia = ThisWorkbook.Worksheets("fornecedor") linhalistbox = 0 linha = 2 'linha de inicio dos dados coluna = 2 'coluna referente busca de produtos 'LstFornecedor.Clear 'guia.Select With guia While .Cells(linha, coluna).Value <> Empty 'enquanto for diferente de vazio faça valor_celula = .Cells(linha, coluna).Value 'recebe o valor da célula para fazer o teste 'Condição para satisfazer a busca tem que ser igual ao valor da texbox3 If UCase(Left(valor_celula, Len(valor_pesquisa))) = UCase(valor_pesquisa) Then 'adiciona itens a listbox With LstFornecedor .AddItem .List(linhalistbox, 0) = guia.Cells(linha, 1) .List(linhalistbox, 1) = guia.Cells(linha, 2) .List(linhalistbox, 2) = guia.Cells(linha, 3) .List(linhalistbox, 3) = guia.Cells(linha, 4) End With linhalistbox = linhalistbox + 1 End If linha = linha + 1 Wend End With End Sub
Boa tarde!
Veja se é isso que deseja.
Abraços!
Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.
Abraços!
Leandro Cordeiro
Leandro, boa tarde.
Desta maneira que você repassou, funcionou perfeitamente.
Porém incrementando outros formulários na planilha, a parte para fazer o recebimento está dando um erro.
O processo de funcionamento da planilha é a seguinte:
Guia ForMatPri armazena Codigo do Produto, Nome do Produto, Unidade de Medida, Codigo do Fornecedor e Nome do Fornecedor.
Ao lançar o recebimento de mercadoria, quando digita o nome do produto, na caixa de listagem ele preenche os dados da guia formatpri, e ao clicar em cima do produto desejado, ele preenche os textbox.
Segue o arquivo em anexo
Private Sub Pesquisa_Change() valor_pesquisa = Pesquisa.Text Dim guia As Worksheet Dim linha As Integer Dim coluna As Integer Dim linhalistbox As Integer Dim valor_celula As String 'Dim linhalistbox As String 'Dim coluna As String 'Dim linha As String Set guia = ThisWorkbook.Worksheets("ForMatPrim") linhalistbox = 0 linha = 2 'linha de inicio dos dados coluna = 2 'coluna referente busca de produtos InfoMatPrima.Clear 'guia.Select With guia While .Cells(linha, coluna).Value <> Empty 'enquanto for diferente de vazio faça valor_celula = .Cells(linha, coluna).Value 'recebe o valor da célula para fazer o teste 'Condição para satisfazer a busca tem que ser igual ao valor da texbox3 If InStr(UCase(valor_celula), UCase(valor_pesquisa)) <> Empty Then With InfoMatPrima .AddItem .List(linhalistbox, 0) = guia.Cells(linha, 1) .List(linhalistbox, 1) = guia.Cells(linha, 2) .List(linhalistbox, 2) = guia.Cells(linha, 3) '.List(linhalistbox, 3) = guia.Cells(linha, 4) '.List(linhalistbox, 3) = guia.Cells(linha, 5) End With linhalistbox = linhalistbox + 1 End If linha = linha + 1 Wend End With End Sub