Estou com uma planilha que tem uma list box, quando clicar duas vezes em qualquer célula da coluna "A" da planilha dia 31, abre a list box com o nome dos produtos, que estão na coluna "B" da planilha estoque, e quando clica em qualquer nome na list box, ele preenche a célula da coluna "A" onde foi dado os dois cliques com o nome do produto que você escolheu.
O que eu preciso é que faça tudo isso da mesma forma, somente no final que retorne ao invés do nome do produto, quero que retorne o código do produto que está na coluna "A' da planilha estoque, quero que apareça o nome do produto na list box e quando eu clicar nele que venha o código deste produto.
Segue código que utilizei:
Option Explicit
Private TextoDigitado As String
Private Sub ListBox1_Click()
ActiveCell.Value = ListBox1.Value
Unload Me
End Sub
Private Sub TextBox1_Change()
TextoDigitado = TextBox1.Text
Call PreencheLista
End Sub
Private Sub UserForm_Initialize()
Call PreencheLista
End Sub
Private Sub PreencheLista()
Dim ws As Worksheet
Dim i As Integer
Dim TextoCelula As String
Dim sRg As Range
Dim ultLin
Dim c As Range
Set ws = ThisWorkbook.Worksheets(2)
'Captamos a última linha na Coluna A
ultLin = ws.Range("A" & Rows.Count).End(xlUp).Row
'Definimos o Range de A2 até A & ultima linha
Set sRg = ws.Range("A2" & ":" & "A" & ultLin)
i = 1
ListBox1.Clear
With ws
'Em vez de condicionar a linha vazia
'While .Cells(i, 2).Value <> Empty
'Usei para cada valor no range definido
'assim pulamos as linhas vazias
For Each c In sRg
TextoCelula = .Cells(i, 2).Value
If InStr(1, UCase(TextoCelula), UCase(TextoDigitado), vbTextCompare) Then
ListBox1.AddItem .Cells(i, 2)
End If
i = i + 1
'Wend
Next c
Pergunta
alan2002fx
Boa tarde.
Estou com uma planilha que tem uma list box, quando clicar duas vezes em qualquer célula da coluna "A" da planilha dia 31, abre a list box com o nome dos produtos, que estão na coluna "B" da planilha estoque, e quando clica em qualquer nome na list box, ele preenche a célula da coluna "A" onde foi dado os dois cliques com o nome do produto que você escolheu.
O que eu preciso é que faça tudo isso da mesma forma, somente no final que retorne ao invés do nome do produto, quero que retorne o código do produto que está na coluna "A' da planilha estoque, quero que apareça o nome do produto na list box e quando eu clicar nele que venha o código deste produto.
Segue código que utilizei:
Option Explicit
Private TextoDigitado As String
Private Sub ListBox1_Click()
ActiveCell.Value = ListBox1.Value
Unload Me
End Sub
Private Sub TextBox1_Change()
TextoDigitado = TextBox1.Text
Call PreencheLista
End Sub
Private Sub UserForm_Initialize()
Call PreencheLista
End Sub
Private Sub PreencheLista()
Dim ws As Worksheet
Dim i As Integer
Dim TextoCelula As String
Dim sRg As Range
Dim ultLin
Dim c As Range
Set ws = ThisWorkbook.Worksheets(2)
'Captamos a última linha na Coluna A
ultLin = ws.Range("A" & Rows.Count).End(xlUp).Row
'Definimos o Range de A2 até A & ultima linha
Set sRg = ws.Range("A2" & ":" & "A" & ultLin)
i = 1
ListBox1.Clear
With ws
'Em vez de condicionar a linha vazia
'While .Cells(i, 2).Value <> Empty
'Usei para cada valor no range definido
'assim pulamos as linhas vazias
For Each c In sRg
TextoCelula = .Cells(i, 2).Value
If InStr(1, UCase(TextoCelula), UCase(TextoDigitado), vbTextCompare) Then
ListBox1.AddItem .Cells(i, 2)
End If
i = i + 1
'Wend
Next c
End With
End Sub
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.