Pregunta Para Luis Mondelo!

Hola Luis!! Buen dia!!. Luis vos me hiciste esta macro una vez para buscar productos. Cuando la veas te vas acordar!!.

Private Sub TextBox2_Change()

ListBox1.Clear

código = TextBox2.Value

Set busca = Sheets("Base Datos ALMACEN").Range("b3:d" & Sheets("Base Datos ALMACEN").Range("d65000").End(xlUp).Row).Find(código, LookIn:=xlValues, lookat:=xlPart)

If Not busca Is Nothing Then

ubica = busca.Address

Do

ListBox1.AddItem busca

i = ListBox1.ListCount - 1

ListBox1.List(i, 0) = busca.Offset(0, -2)

ListBox1.List(i, 1) = busca.Offset(0, -1)

ListBox1.List(i, 2) = busca

Set busca = Sheets("Base Datos ALMACEN").Range("b3:d" & Sheets("Base Datos ALMACEN").Range("d65000").End(xlUp).Row).FindNext(busca)

Loop While Not busca Is Nothing And busca.Address <> ubica

End If

End Sub

Luis, vos sabes que me tira un error en el textBox2, donde coloco la letra para buscar los productos. Te acordás? Funciona asi: Si yo en el textBox coloco "A" por ejemplo, me tira todas las palabras que arrancan con A. Bien, pero el error esta en que si coloco "A" por ejemplo, y en realidad me equivoque de letra y quiero borrarla y colocar "B" o "L" me tira un mensaje de error 1004 ..........!! La linea que esta en negrita es la que me señala cuando doy depurar!!!

que sera??

gracias luis!!!

1 respuesta

Respuesta
1

La macro correcta sería esta:

Private Sub TextBox2_Change()
ListBox1.Clear
codigo = TextBox2.Value
If TextBox2.Value = "" Then ListBox1.Clear
Set busca = Sheets("Base Datos ALMACEN").Range("b3:d" & Sheets("Base Datos ALMACEN").Range("d65000").End(xlUp).Row).Find(codigo, LookIn:=xlValues, lookat:=xlPart)
If Not busca Is Nothing Then
ubica = busca.Address
Do
ubica2 = "$B$" & busca.Row
ListBox1.AddItem Range(ubica2)
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = Range(ubica2).Offset(0, 1)
ListBox1.List(i, 2) = Range(ubica2).Offset(0, 2)
Set busca = Sheets("Base Datos ALMACEN").Range("b3:d" & Sheets("Base Datos ALMACEN").Range("d65000").End(xlUp).Row).FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If
End Sub

recuerda finalizar amigo

Un abrazo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas