Saltar al contenido

Listbox no carga completo al buscar en TextBox


Recommended Posts

publicado

Hola. tengo un problema...al buscar en textBox no carga completamente en el listbox solo hasta cierta columna y no me permite llenar mas, ya lo revice muchas veces y no encuentro el error. ahi les dejo el archivo. gracias de antemano

Libro1.xlsm

publicado

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

publicado

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

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.