H o l a:
Te anexo el código para realizar las cargas:
Private Sub UserForm_Activate()
'Por.Dante Amor
Set h1 = Sheets("BBDD IDEAL")
For i = 2 To h1.Cells(Rows.Count, "A").End(xlUp).Row
agregar ComboBox1, h1.Cells(i, "A") '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
'
Sub agregar(combo As ComboBox, dato As String)
'por.Dante Amor agrega los item únicos y en orden alfabético
For i = 0 To combo.ListCount - 1
Select Case StrComp(combo.List(i), dato, vbTextCompare)
Case 0: Exit Sub 'ya existe en el combo y ya no lo agrega
Case 1: combo.AddItem dato, i: Exit Sub 'Es menor, lo agrega antes del comparado
End Select
Next
combo.AddItem dato 'Es mayor lo agrega al final
End Sub
'
Private Sub ComboBox1_Change()
'Por.Dante Amor
'***Carga CLIENTES
ComboBox2.Clear
ComboBox3.Clear
If ComboBox1 = "" Or ComboBox1.ListIndex = -1 Then Exit Sub
For i = 2 To h1.Cells(Rows.Count, "A").End(xlUp).Row
If h1.Cells(i, "A") = ComboBox1 Then
Call agregar(ComboBox2, h1.Cells(i, "B"))
End If
Next
End Sub
'
Private Sub ComboBox2_Change()
'Por.Dante Amor
'***Carga CAMPAÑA
ComboBox3.Clear
If ComboBox2 = "" Or ComboBox2.ListIndex = -1 Then Exit Sub
For i = 2 To h1.Cells(Rows.Count, "A").End(xlUp).Row
If h1.Cells(i, "A") = ComboBox1 And _
h1.Cells(i, "B") = ComboBox2 Then
Call agregar(ComboBox3, h1.Cells(i, "C"))
End If
Next
End Sub
[code]':)
'Saludos. Dante Amor Recuerda valorar la respuesta.