Mostrar en listbox encabezado de columnas en filas

Estimados amigos del foro, Cómo se puede hacer que un listbox que me muestre una distribución diferente a la que hemos visto, es decir que los encabezados de la hoja los muestre en las filas

Por ejemplo así:

En la hoja

       A              B                C            D               E            F           G

1  Nombre 1/12/15   2/12/15    3/12/15   4/12/15  5/12/15     Prom

2   Carlos       5                4            6                 7           8              6

En el listborx

                                                   ComboNombre

lblFecha    Lbl Nota_

_________________________________________________

1/12/15            5

2/12/15            4

3/12/15            6

4/12/15            7

5/12/15           8

___________________________________________________________

1 Respuesta

Respuesta
1

H o l a:

Según puedo ver en tu ejemplo pusiste un combobox, entonces supongo que en el combobox vas a poner un nombre, luego entonces, el código para el evento change del combobox sería el siguiente:

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ListBox1.Clear
    If ComboBox1 = "" Then Exit Sub
    If ComboBox1.ListIndex = -1 Then Exit Sub
    Set h = Sheets("Hoja2")
    Set b = h.Columns("A").Find(ComboBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        For i = 2 To 6
            ListBox1.AddItem h.Cells(1, i)
            ListBox1.List(ListBox1.ListCount - 1, 1) = h.Cells(b.Row, i)
        Next
    Else
        MsgBox "El nombre no existe"
    End If
End Sub

El listbox1 tiene que tener 2 columnas.

Si quieres agregar el promedio al listbox cambia el 6 por un 7


Gracias por tu respuesta, el código hace colocar los encabezados en filas pero no coloca la nota al frente de cada fecha que es la que ahora se convierte en otra filas en el listbox . Lo que solicite en este hermoso foro de expertos, en realidad lo tengo en el siguiente archivo, lo he hecho conforme va a funcionar no el ejemplo como lo planteado aquí. Allí aplique el código pero igualmente solo muestra una columna (que son las filas en realidad) lo que sucede es que deseo con este codigo es mostrar las notas individuales de cada estudiante.

En el userform se muestra el ejemplo de como quiero que se vean los resultados.

Te agradezco mucho tu amable colaboracion

subo el archivo en este link para que lo veas:

https://app.box.com/s/ub0sv7xsxcym7k2kbyybbzpc8u55f3q8 

No puedo descargar el archivo, envíame los ejemplos a mi correo

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Vi sor” y el título de esta pregunta.

H o l a:

Te anexo la macro actualizada para cargar las 4 columnas:

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ListBox1.Clear
    If ComboBox1 = "" Then Exit Sub
    If ComboBox1.ListIndex = -1 Then Exit Sub
    If CbxCatEval <> "Modo2" Then Exit Sub
    Set h = Sheets(CbxCatEval.Value)
    Set b = h.Columns("B").Find(ComboBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        For i = 3 To 22
            ListBox1.AddItem h.Cells(5, i)
            ListBox1.List(ListBox1.ListCount - 1, 1) = h.Cells(b.Row, i + 24)
            ListBox1.List(ListBox1.ListCount - 1, 2) = h.Cells(b.Row, i)
            ListBox1.List(ListBox1.ListCount - 1, 3) = h.Cells(b.Row, i + 45)
        Next
    Else
        MsgBox "El nombre no existe"
    End If
End Sub

También te recomiendo que cambies el ancho de columnas del listbox, por ejemplo:

70 pt;200 pt;70 pt;70 pt;70 pt


sal u dos

¡Gracias! Estoy muy agradecido es extraordinariamente excelente el aporte muy práctico el código y además lo puedo comprender.

Tema solucionado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas