Ayuda con find y mostrar resultados en listbox
Es un placer saludarles y plantearles lo siguiente: se tienen 2 columnas, la "A" es proveedores y la "B" numero de pedido, tengo un formulario con un listbox que al abrirlo pide el nombre del proveedor. Lo que yo quiero es que en el listbox unicamente muestre todos los números de pedido relacionados con ese proveedor, pero hasta el momento solo me arroja el nombre del proveedor repetido tantas veces como este en la columna "A". El código lo obtuve de aquí y lo he ido modificando según lo que quiero pero aun no logro que muestre los números de pedido que están en la columna "B", ¿podrían ayudarme?, de antemano gracias.
El código es el siguiente
Private Sub UserForm_Initialize()
With Worksheets("hoja1").Range("A:A")
Set midato = .Find(InputBox("Introduce numero de contrato", "CONSULTA"), _
After:=.Cells(1), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext)
If Not (midato) Is Nothing Then
ubica = midato.Address(False, False)
Do
ListBox1.AddItem midato
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = midato.Offset(0, 1).Value
ListBox1.List(i, 2) = midato.Offset(0, 2).Value
ListBox1.List(0, 3) = midato.Offset(0, 3).Value
Set midato = Worksheets("hoja1").Range("a:i").FindNext(midato)
Loop While Not midato Is Nothing And midato.Address(False, False) <> ubica
End If
End With
Set midato = Nothing
End Sub
El código es el siguiente
Private Sub UserForm_Initialize()
With Worksheets("hoja1").Range("A:A")
Set midato = .Find(InputBox("Introduce numero de contrato", "CONSULTA"), _
After:=.Cells(1), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext)
If Not (midato) Is Nothing Then
ubica = midato.Address(False, False)
Do
ListBox1.AddItem midato
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = midato.Offset(0, 1).Value
ListBox1.List(i, 2) = midato.Offset(0, 2).Value
ListBox1.List(0, 3) = midato.Offset(0, 3).Value
Set midato = Worksheets("hoja1").Range("a:i").FindNext(midato)
Loop While Not midato Is Nothing And midato.Address(False, False) <> ubica
End If
End With
Set midato = Nothing
End Sub
1 respuesta
Respuesta de el_canas
1