¿Por qué la macro no carga todas las columnas y filas de una consulta en un listbox?
Solicito amablemente su ayuda para resolver lo siguiente:
Modifique una macro para agregar más columnas al listbox y dejo de funcionar, mi hoja era de 10 columnas y mostraba todas las filas relacionadas con el criterio del filtro; ahora que mi hoja excel aumento a 34 columnas, le cambie el numero de columnas en el código, pero solo carga en el listbox las primeras10 y además solo muestra una fila.
Les comparto la macro modificada:
Private Sub ListBox1_Click()
'Dar formato al ListBox y traer datos de la hoja
For i = 1 To 34
Me.Controls("Label" & i) = Cells(1, i).Value
Next i
With ListBox1
.ColumnCount = 34
.ColumnWidths = "60 pt;60 pt;60 pt;20 pt;100 pt;180 pt;180 pt;200 pt;120 pt;100 pt;60 pt;60 pt;60 pt;20 pt;100 pt;180 pt;180 pt;200 pt;120 pt;100 pt;60 pt;60 pt;60 pt;20 pt;100 pt;180 pt;180 pt;200 pt;120 pt;100 pt;60 pt;60 pt;60 pt; 60 pt"
End With
End Sub
'Mostrar resultado en ListBox
Private Sub CommandButton5_Click()
On Error GoTo Errores
If Me.txtFiltro1.Value = "" Then Exit Sub
Me.ListBox1.Clear
j = 1
FILAS = Range("a1").CurrentRegion.Rows.Count
For i = 2 To FILAS
If LCase(Cells(i, j).Offset(0, 5).Value) Like "*" & LCase(Me.txtFiltro1.Value) & "*" Then
Me.ListBox1.AddItem Cells(i, j)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, j).Offset(0, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, j).Offset(0, 2)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, j).Offset(0, 3)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(i, j).Offset(0, 4)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(i, j).Offset(0, 5)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Cells(i, j).Offset(0, 6)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Cells(i, j).Offset(0, 7)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 8) = Cells(i, j).Offset(0, 8)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 9) = Cells(i, j).Offset(0, 9)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 10) = Cells(i, j).Offset(0, 10)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 11) = Cells(i, j).Offset(0, 11)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 12) = Cells(i, j).Offset(0, 12)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 13) = Cells(i, j).Offset(0, 13)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 14) = Cells(i, j).Offset(0, 14)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 15) = Cells(i, j).Offset(0, 15)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 16) = Cells(i, j).Offset(0, 16)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 17) = Cells(i, j).Offset(0, 17)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 18) = Cells(i, j).Offset(0, 18)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 19) = Cells(i, j).Offset(0, 19)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 20) = Cells(i, j).Offset(0, 20)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 21) = Cells(i, j).Offset(0, 21)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 22) = Cells(i, j).Offset(0, 22)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 23) = Cells(i, j).Offset(0, 23)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 24) = Cells(i, j).Offset(0, 24)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 25) = Cells(i, j).Offset(0, 25)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 26) = Cells(i, j).Offset(0, 26)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 27) = Cells(i, j).Offset(0, 27)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 28) = Cells(i, j).Offset(0, 28)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 29) = Cells(i, j).Offset(0, 29)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 30) = Cells(i, j).Offset(0, 30)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 31) = Cells(i, j).Offset(0, 31)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 32) = Cells(i, j).Offset(0, 32)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 33) = Cells(i, j).Offset(0, 33)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 34) = Cells(i, j).Offset(0, 34)
Else
End If
Next i
Exit Sub
Errores:
MsgBox "No se encuentra.", vbExclamation
End Sub
Quedo atento a sus comentarios y agradezco de antemano su valioso apoyo.
Que tengan una excelente tarde.