Excel - comboBox... muchos, demasiados y dependientes

   
Vista:

comboBox... muchos, demasiados y dependientes

Publicado por Alx (29 intervenciones) el 19/10/2017 18:56:27
Tengo un UserForm, con... 30 ComboBox

En ellos, los relleno con la lista de trabajadores para asignarlos a un evento, de esta forma:

1
2
3
4
5
6
7
8
9
Private Sub CBTrab1_enter()
 
With Sheets("Trabajador")
    For Each celda In .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
        If celda <> Empty Then CBTrab1.AddItem celda.Value
    Next
End With
 
End Sub

Funcionar, funciona... pero claro... este codigo se repite para los 30 combos... Bonito... no es.

Hay alguna forma de "minimizar" el codigo????

Es mas... Se os ocurre como podria hacer, que si se ha seleccionado a un trabajador en un Combo, no aparezca en el resto de Combos? (para evitar asignar dos o mas veces a un mismo trabajador en el mismo evento)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo

comboBox... muchos, demasiados y dependientes

Publicado por Andres Leonardo (894 intervenciones) el 19/10/2017 21:02:13
Pues si es algo muy Sencillo crea algo asi que se llama procedimiento con parametros, que es lo que cambia en cada combo dependiente ahora solo lo llamaras donde necsitas ejemplo cuando cambias un valor



llenarcombo (NombredelCombo, el rango, la columna que debe leer ..)

1
2
3
4
5
6
7
8
9
Private Sub llenarCombo(cmb as combobox , r as range , C as string)
 
With Sheets("Trabajador")
    For Each celda In .Range(C & "2:" & C & .Range(C & Rows.Count).End(xlUp).Row)
        If celda <> Empty Then cmb.AddItem celda.Value
    Next
End With
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comboBox... muchos, demasiados y dependientes

Publicado por Alx (29 intervenciones) el 29/10/2017 07:40:05
Perdona que no conteste antes Andres, pero estuve liado... mirare de probar :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar