Tengo un problema con hacer una búsqueda y enviarla a Listbox

Estoy buscando información por medio de una hoja de calculo, pero en mi libro tengo muchas hojas de calculo y esa información la necesito visualizar en un listBox, tengo tres columnas con información (nombres, apellidos y clase), solo quiero buscar la clase (e.j. Zumba) que me entregue el nombre de la persona y el apellido, pero tengo problemas cuando ingreso la hoja . Lo otro quiero agregar números en el listBox de acuerdo a la cantidad de información que se muestre

1 Respuesta

Respuesta
2

H o l a:

Envíame tu archivo, me dices cuál formulario y cuál hoja quieres cargar y cuál rango de datos quieres cargar.

Recuerda poner en el asunto tu nombre de usuario: "Ana Karina Pérez"

sal u dos

H o l a:

Te anexo las macros para cargar el combo y el listbox

Private Sub ComboBox1_Change()
'Por.Dante Amor
    'If ComboBox1 = "" Then
    ListBox1.Clear
    If ComboBox1 = "" Then clase = "*" Else clase = ComboBox1
    Set h2 = Sheets("USUARIOS")
    For i = 2 To h2.Range("H" & Rows.Count).End(xlUp).Row
        If h2.Cells(i, "H") Like "*" & clase & "*" Then
            ListBox1.AddItem h2.Cells(i, "A")
            ListBox1.List(ListBox1.ListCount - 1, 1) = h2.Cells(i, "B")
            ListBox1.List(ListBox1.ListCount - 1, 2) = h2.Cells(i, "C")
            ListBox1.List(ListBox1.ListCount - 1, 3) = h2.Cells(i, "H")
        End If
    Next
End Sub
'
Private Sub UserForm_Initialize()
'Act.Por.Dante Amor
    Set h2 = Sheets("USUARIOS")
    Set h5 = Sheets("PRODUCTOS")
    h5.Cells.EntireColumn.AutoFit
    'Le digo cuántas columnas
    ListBox1.ColumnCount = 4
    '
    'Para el ancho de las columnas
    cols = Array("A", "B", "C", "H")
    For i = LBound(cols) To UBound(cols)
        cad = cad & Int(h2.Cells(1, cols(i)).Width) + 1 & ";"
    Next
    ListBox1.ColumnWidths = cad
    '
    'Carga del combo
    For i = 2 To h5.Range("E" & Rows.Count).End(xlUp).Row
      ComboBox1.AddItem h5.Cells(i, "E")
    Next
End Sub

Dante para la columna donde dice N° no quiero el código de las personas sino que de acuerdo a los nombres de las persona vaya colocando números de 1 al 10 por ejemplo si son 10 personas en una clase. y lo otro que necesito es que salgan las personas que van sólo a ZUMBA como clases separadas. te pasaste eres el mejor!!!

Te anexo la macro actualizada:

Private Sub ComboBox1_Change()
'Por.Dante Amor
    'If ComboBox1 = "" Then
    ListBox1.Clear
    Set h2 = Sheets("USUARIOS")
    n = 1
    For i = 2 To h2.Range("H" & Rows.Count).End(xlUp).Row
        If UCase(h2.Cells(i, "H")) = UCase(ComboBox1) Then
            ListBox1.AddItem n
            ListBox1.List(ListBox1.ListCount - 1, 1) = h2.Cells(i, "B")
            ListBox1.List(ListBox1.ListCount - 1, 2) = h2.Cells(i, "C")
            ListBox1.List(ListBox1.ListCount - 1, 3) = h2.Cells(i, "H")
            n = n + 1
        End If
    Next
End Sub
'
Private Sub UserForm_Initialize()
'Act.Por.Dante Amor
    Set h2 = Sheets("USUARIOS")
    Set h5 = Sheets("PRODUCTOS")
    h5.Cells.EntireColumn.AutoFit
    'Le digo cuántas columnas
    ListBox1.ColumnCount = 4
    '
    'Para el ancho de las columnas
    cols = Array("A", "B", "C", "H")
    For i = LBound(cols) To UBound(cols)
        cad = cad & Int(h2.Cells(1, cols(i)).Width) + 1 & ";"
    Next
    ListBox1.ColumnWidths = cad
    '
    'Carga del combo
    For i = 2 To h5.Range("E" & Rows.Count).End(xlUp).Row
      ComboBox1.AddItem h5.Cells(i, "E")
    Next
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas