Formulario para buscar datos mediante textbox

Tengo una lista de 5 columnas en excel y quiero lograr que al escribir en un textbox me busque la coincidencia y el listbox me agregue las 5 columnas que corrponden a la coincidencia

Tenia este código pero no se llena correctamente después de la segunda columna me empieza a poner el valor de numero de fila que tiene anexo mi código:

Esto en un evento change de un textbox

'Set h1 = Sheets("BaseDatosEstudios")
'LISTA_ANALISIS.Clear
'LISTA_ANALISIS.ColumnWidths = "300pt;200pt;100PT;100PT"
'For i = 2 To h1.Range("b" & Rows.Count).End(xlUp).Row
'If txtbusca_ana.Value = "" Then t1 = h1.Cells(i, "B") Else t1 = txtbusca_ana.Value
'If LCase(h1.Cells(i, "b").Value) Like "*" & LCase(t1) & "*" And _
' LCase(h1.Cells(i, "e").Value) Like "*" & LCase(t2) & "*" Then
' LISTA_ANALISIS.AddItem h1.Cells(i, "B").Value
' LISTA_ANALISIS.List(LISTA_ANALISIS.ListCount - 1, 1) = h1.Cells(i, "a").Value
'LISTA_ANALISIS.List(LISTA_ANALISIS.ListCount - 1, 2) = i
' LISTA_ANALISIS.List(LISTA_ANALISIS.ListCount - 1, 1) = h1.Cells(i, "e").Value
'LISTA_ANALISIS.List(LISTA_ANALISIS.ListCount - 1, 1) = h1.Cells(i, "c").Value
'End If

Les agradecería mucho que me ayudaran a corregir este pequeño dilema

1 Respuesta

Respuesta
1

Puedes guiarte con esta macro y validar tu macro al parecer tiene inconsistencias, otra opción es compartir tu archivo ejemplo para ayudarte, saludos

    For i = 2 To uFila
    On Error Resume Next
        If LCase(Cells(i, 2).Value) Like "*" & LCase(Me.TxtBuscar.Value) & "*" Then
            Me.ListBox1.AddItem Cells(i, 2)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 2)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, 3)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, 4)
        End If
    Next i

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas