Agregar más de 10 columnas en un listbox. Excel-vb

Estaba tratando de añadirle una columna más a mi listbox actual mente tiene 10, pero al parecer la propiedad AddItem solo acepta un máximo de 10 columnas. Alguien me podría ayudar a corregir mi código. Gracias

Dim i As Long  
Private Sub CommandButton8_Click()
With ListBox1
.ColumnCount = 10 'numero de columnas
.ColumnWidths = "40 pt;40 pt;40 pt;40 pt;40 pt;40 pt;40 pt;40 pt;40 pt;40 pt; "  
End With
' aqui se agregan el contenido del texbox al listbox1
ListBox1.AddItem Val(txt_numcomp.Text)
ListBox1.List(i, 0) = Space(10 - 2 * Len(ListBox1.List(i, 0))) & ListBox1.List(i, 0) 
ListBox1.List(i, 1) = Me.txt_cantidad  
ListBox1.List(i, 2) = Me.txt_cantidad  
ListBox1.List(i, 3) = Me.txt_cantidad  
ListBox1.List(i, 4) = Me.txt_cantidad  
ListBox1.List(i, 5) = Me.txt_cantidad 
ListBox1.List(i, 6) = Me.txt_cantidad 
ListBox1.List(i, 7) = Me.txt_cantidad  
ListBox1.List(i, 8) = Me.txt_cantidad 
ListBox1.List(i, 9) = Me.txt_cantidad 
i = i + 1
sumarImportes
End Sub



            
            

            
        

1 Respuesta

Respuesta
4

H o l a:

Está podría ser una opción, cargando con List:

Dim i As Long
Private Sub CommandButton8_Click()
    Dim arrData() As String
    With ListBox1
        .ColumnCount = 12 'numero de columnas
        .ColumnWidths = "40 pt;40 pt;40 pt;40 pt;40 pt; " & _
                        "40 pt;40 pt;40 pt;40 pt;40 pt; " & _
                        "40 pt;40 pt"
    End With
    f = ListBox1.ListCount
    j = ListBox1.ColumnCount
    ReDim arrData(f, j)
    For n = 0 To j
        For m = 0 To f - 1
            'dato = ListBox1.List(m, n)
            arrData(m, n) = ListBox1.List(m, n)
        Next m
    Next n
    arrData(f, 0) = txt_numcomp
    arrData(f, 1) = txt_cantidad
    arrData(f, 2) = txt_cantidad
    arrData(f, 3) = txt_cantidad
    arrData(f, 4) = txt_cantidad
    arrData(f, 5) = txt_cantidad
    arrData(f, 6) = txt_cantidad
    arrData(f, 7) = txt_cantidad
    arrData(f, 8) = txt_cantidad
    arrData(f, 9) = txt_cantidad
    arrData(f, 10) = txt_cantidad
    arrData(f, 11) = txt_cantidad
    '
    '... y los que quieras
    '
    ListBox1.List = arrData()
    sumarImportes
End Sub

No puse este código, porque si pones más de 5 dígitos te envía un error

Space(10 - 2 * Len(ListBox1.List(i, 0))) & ListBox1. List(i, 0)

el equivalente sería:

Space(10 - 2 * Len(txt_numcomp)) & txt_numcomp '


' : )
'S aludos. Dante Amor. R ecuerda valorar la respuesta. G racias
' : )

¡Gracias! hombre que te puede decir el código estuvo de maravilla cada día se aprende un poco mas ya que muchas maneras de hacer este procedimientos pero yo solo conocía el de addItem y había escuchado de otros los cuales no entendí muy bien, pero este lo entendí de inmediato algo sencillo y practico, para alguien nuevo en el tema.  Gracias por compartir tu conocimiento. 

Disculpa una pregunta más con este método se puede utilizar la propiedad .columnheads y como aplicarla. Gracias

Con este método no es posible.

Tienes que utilizar el método RowSource. Pero tienes que poner la información en una hoja y después cargar la información de la hoja en el listbox.

Si quieres ayuda, crea una nueva pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas