Jump to content
Sign in to follow this  
joselopezitot

Listbox no carga completo al buscar en TextBox

Recommended Posts

Si quitas el "On Error Resume Next"  del evento "Change" del textbox "BuscarPorNombre2", verás que te da un error en la línea:

Me.ListaDeDatos.List(X, 10) = Hoja5.Cells(Fila, 17).Value   'DEVENGADO

Ya que estás usando, para llenar el "ListBox", "AddItem" (más "List") y tiene un límite máximo de diez columnas.

Tienes que ir llenando el listbox con una matriz. Mira el adjunto para que te des idea de como hacer, ya tú adáptalo a tu código.

ListBox Busqueda.xlsm

Abraham Valencia

Share this post


Link to post
Share on other sites

Otra forma, sustituye tu macro:

Private Sub BuscarPorUnico_Change()
'On Error Resume Next
Set B = Sheets("TRANSPARENCIA2018")
uF = B.Range("G" & Rows.Count).End(xlUp).Row
If Trim(BuscarPorUnico.Value) = "" Then
   Me.ListaDeDatos.RowSource = "TRANSPARENCIA2018!G10:S" & uF
   Exit Sub
End If
Me.ListaDeDatos.RowSource = ""
Me.ListaDeDatos.List = Range(Cells(1, 1), Cells(1, 13)).Value '<------- Dimensiona el listbox
Me.ListaDeDatos.Clear
For I = 10 To uF
   strg = B.Cells(I, 18).Value   'COLUMNA DE BUSQUEDA
   If UCase(strg) Like UCase(BuscarPorUnico.Value) & "*" Then
       Me.ListaDeDatos.AddItem B.Cells(I, 7)     'COLUMNA DE INICIO
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 0) = B.Cells(I, 7)       'ITEM
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 1) = B.Cells(I, 8)       'CODIGO SNIP
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 2) = B.Cells(I, 9)       'CODIGO UNICO
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 3) = B.Cells(I, 10)      'DESCRIPCION
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 4) = B.Cells(I, 11)      'PROYECTO
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 5) = B.Cells(I, 12)      'PIA
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 6) = B.Cells(I, 13)      'PIM
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 7) = B.Cells(I, 14)      'CERTIFICADO
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 8) = B.Cells(I, 15)      'COMPROMISO ANUAL
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 9) = B.Cells(I, 16)      'ATENCION DE COMPROMISO MENSUAL
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 10) = B.Cells(I, 17)     'DEVENGADO
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 11) = B.Cells(I, 18)     'GIRADO
       Me.ListaDeDatos.List(Me.ListaDeDatos.ListCount - 1, 12) = B.Cells(I, 19)     'AVANCE %
   End If
Next I
End Sub

 

Share this post


Link to post
Share on other sites
Sign in to follow this  



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png