Cambiar de "Additem " a "RowSource" en VBA

Siempre he encontrado apoyo de ustedes, y bueno, tengo una nueva duda.

Quiero pasar datos a un ListBox1 con más de 10 columnas, obviamente el Additem no funciona con más de 10, se que con RowSource es posible. O no se si alguna instrucción mínima pueda corregir el problema. Muchas gracias por la ayuda pero no estoy familiarizado con rowsource.

Aqui el codigo:

Private Sub CommandButton5_Click()
On Error GoTo Errores
If Me.txtFiltro1.Value = "" Then Exit Sub
Me.ListBox1.Clear
j = 1
Filas = Range("a6").CurrentRegion.Rows.Count
For i = 7 To Filas
'If LCase(Cells(i, j).Offset(0, 1).Value) Like "*" & LCase(Me.txtFiltro1.Value) & "*" Then
If LCase(Cells(i, j).Offset(0, 0).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)
Else
End If

Next i
Exit Sub
Errores:
MsgBox "Sin Coincidencias.", vbExclamation, "EXCELeINFO"
End Sub

1 respuesta

Respuesta
2

Prueba con esta macro

Private Sub UserForm_Activate()
With ListBox1
    .RowSource = "hoja1!" & Range("a6").CurrentRegion.Address
    .ColumnCount = Range("a6").CurrentRegion.Rows.Count
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas