Como resumir en un listbox una selección de varios combobox

Tengo un form con 42 combobox, quisiera que en el listbox indique un resumen de las horas que se han reportado, de acuerdo a la imagen debería decir" Fecha (Label2) y ComboBox5. Cliente (Label3) y ComboBox2. Planner (Label3) y ComboBox1. Campaña (Label5) y ComboBox3. Estas deben aparecer en todas las consultas, y la parte de abajo solo donde se registre algún tiempo, si se elige más de 1 tiempo debería mostrar la suma.

Los label van desde label 30 hasta 48; los combobox (de Hora de combobox6 hasta combobox24) (de Minutos combobox 25 hasta combobox43)

Anexo los codigos que tengo en el form

Private Sub UserForm_Initialize()

' alimenta el combobox FECHA

Hoja2.Select
Range("A1").Select
Do While ActiveCell <> Empty
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(0, 1).Select
Loop

Application.ScreenUpdating = True
' alimenta el combobox FECHA
ComboBox5.Clear
Sheets("BBDD").Select
Range("A2").Select
While ActiveCell <> Empty
ComboBox5.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend
' alimenta el combobox de hora

ComboBox6.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox6.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox25.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox25.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox7.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox7.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox26.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox26.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox8.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox8.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox27.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox27.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox9.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox9.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox28.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox28.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend
ComboBox10.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox10.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox29.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox29.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend
ComboBox11.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox11.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox30.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox30.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox12.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox12.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox31.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox31.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox13.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox13.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox32.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox32.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox14.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox14.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox33.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox33.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox15.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox15.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox34.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox34.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox16.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox16.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox35.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox35.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox17.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox17.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox36.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox36.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox18.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox18.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox37.Clear
Sheets("BBDD").Select
Range("C2").Select
While ActiveCell <> Empty
ComboBox37.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox19.Clear
Sheets("BBDD").Select
Range("B2").Select
While ActiveCell <> Empty
ComboBox19.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

End Sub

1 Respuesta

Respuesta
1

H o l a:

Recibí tu archivo, lo reviso y te comento.

Sal u dos

H o l a:

Te anexo el código simplificado para cargar los combos:

Private Sub UserForm_Initialize()
'Por.Dante Amor
    For i = 1 To Hoja2.Cells(1, Columns.Count).End(xlToLeft).Column
        ComboBox1.AddItem Hoja2.Cells(1, i)                             'Carga Combo PLANNER
    Next
    For i = 2 To Hoja5.Range("A" & Rows.Count).End(xlUp).Row
        ComboBox5.AddItem Hoja5.Cells(i, "A")                           'Carga Combo FECHA
    Next
    For i = 6 To 24
        Me.Controls("ComboBox" & i).RowSource = Hoja5.Name & "!B2:B25"  'Carga Combo HORAS
    Next
    For i = 25 To 43
        Me.Controls("ComboBox" & i).RowSource = Hoja5.Name & "!C2:C12"  'Carga Combo MIN
    Next
    f = 2
    For i = 30 To 48
        Me.Controls("Label" & i) = Hoja5.Cells(f, "D")                  'Carga ETIQUETAS
        f = f + 1
    Next
End Sub
'
Private Sub ComboBox1_Change()
'Por.Dante Amor
    '***Carga CLIENTES
    ComboBox2.Clear
    If ComboBox1 = "" Or ComboBox1.ListIndex = -1 Then Exit Sub
    columna = ComboBox1.ListIndex + 1
    For i = 2 To Hoja2.Cells(Rows.Count, columna).End(xlUp).Row
        ComboBox2.AddItem Hoja2.Cells(i, columna)
    Next
End Sub
'
Private Sub ComboBox2_Change()
'Por.Dante Amor
    '***Carga CAMPAÑA
    ComboBox3.Clear
    If ComboBox2 = "" Or ComboBox2.ListIndex = -1 Then Exit Sub
    columna = ComboBox2.ListIndex + 1
    For i = 2 To Hoja3.Cells(Rows.Count, columna).End(xlUp).Row
        ComboBox3.AddItem Hoja3.Cells(i, columna)
    Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas