ListBox que me reflejen 3 columnas

Hace un tiempo un experto "Dante Amor", ayudo con un código, pero ahora estaba intentando agregar una columna más en el listbox pero no logre hacerlo.

Tengo un bd y cuando selecciono el textbox me da la búsqueda en el listbox, pero ahora necesito agregarle un columna más en el listbox, ahora me aparece la columna B y C, necesito que me aparezca la columna D; les adjunto ql código que me brindo antes el experto, gracias

Private Sub ListBox1_Click(): On Error Resume Next
    fila = CLng(ListBox1.List(ListBox1.ListIndex, 2))
    SaltarEventos = True
     'Provoca el evento change del Textbox
    TextBox2.Text = clientes.Cells(fila, 1)
    TextBox3.Text = clientes.Cells(fila, 2)
    TextBox4.Text = clientes.Cells(fila, 3)
    TextBox5.Text = clientes.Cells(fila, 4)
    TextBox6.Text = clientes.Cells(fila, 5)
    SaltarEventos = False
    ListBox1.Visible = False
End Sub
'
Private Sub TextBox1_Change()
    If SaltarEventos = True Then Exit Sub
    ListBox1.Clear
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    '
    ultf = clientes.Range("a" & Rows.Count).End(xlUp).Row
    For Each cliente In clientes.Range("a2:a" & ultf)
        If cliente Like TextBox1 & "*" Then
            ListBox1.AddItem cliente
            ListBox1.List(ListBox1.ListCount - 1, 1) = cliente.Offset(0, 2)
            ListBox1.List(ListBox1.ListCount - 1, 2) = cliente.Row
        End If
    Next cliente
    ListBox1.Visible = True
    If ListBox1.ListCount = 0 Then ListBox1.Visible = False
End Sub

2 respuestas

Respuesta
2

Prueba añadiendo después de la siguiente línea

ListBox1.List(ListBox1.ListCount - 1, 2) = cliente.Row

Esta otra

ListBox1.List(ListBox1.ListCount - 1,3) = cliente.Row

Y revisa en la propiedad ColumCount del listbox la cantidad

Respuesta
1

Necesito que me aparezca la columna D

Cambia esta parte:

    For Each cliente In clientes.Range("a2:a" & ultf)
        If cliente Like TextBox1 & "*" Then
            ListBox1.AddItem cliente
            ListBox1.List(ListBox1.ListCount - 1, 1) = cliente.Offset(0, 2)
            ListBox1.List(ListBox1.ListCount - 1, 2) = cliente.Row
            ListBox1.List(ListBox1.ListCount - 1, 3) = cliente.Offset(0, 3)
        End If
    Next cliente

Cambia en las propiedades del Listbox1, la propiedad de ColumnCount a 4.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas