Como buscar datos en una tabla y mostrarlos en un ListBox?
Tengo datos en una tabla y quiero que al momento de darle en buscar me muestre el dato que le pedí en el ListBox. Mi tabla de excel es de 10 columnas.
Tengo un ListBox en el cual traigo datos desde una hoja de excel. Para ello hay un TxtBox que me permite ingresar el dato de búsqueda y luego en el ListBox quiero que me muestre todos los campos del dato que le pedí de mi hoja de excel. ¿Ocurre qué al ingresar el dato y luego presionar un command button para buscar no me muestra nada en el ListBox. Estará el problema en el código del Botón de buscar?
------------------------------------El Command Button tiene el siguiente código:----------------------------
Private Sub btn_buscar_Click()
'Si esta vacio me mandara msj
If Me.txt_buscar.Value = Empty Then
MsgBox "Escribe un registro para buscar"
Me.ListBox1.Clear
Me.txt_buscar.SetFocus
Exit Sub
End If
'Limpiar listbox
Me.ListBox1.Clear
items = Range("Tabla1").CurrentRegion.Rows.Count
'Cuenta items x fila (contare 10 x fila)
For i = 10 To items
'Busqueda inteligente (no distingue may, min, etc)
If LCase(Cells(i, 1).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
'Mostrar informacion buscada
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 2).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 3).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 4).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 5).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 6).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 7).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 8).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 9).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
ElseIf LCase(Cells(i, 10).Value) Like "*" & LCase(Me.txt_buscar.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 10)
End If
Next i
'Reinicia cursor
Me.txt_buscar.SetFocus
'Seleccionar el texto que estoy buscando (el que ingrese)
Me.txt_buscar.SelStart = 0
'Hace comparacion de texto
Me.txt_buscar.SelLength = Len(Me.txt_buscar.Text)
Exit Sub
End Sub
------------------------------------------------El ListBox tiene el siguiente código:----------------------------
Private Sub ListBox1_Click()
'Sirve para que cuente si hay mas de un registro con el mismo nombre que estoy buscando
items = Me.ListBox1.ListCount
For i = 0 To items - 1
If Me.ListBox1.Selected(i) Then
xEmpleado = Me.ListBox1.List(i)
End If
Next i
End Sub