VBA Excel: Combobox que muestre datos sin repetirlos

Dante Amor & Elsa Matilde

Buenos días, tengo el trabajo de ir generando una serie de registros que estarán dentro de determinadas categorias, usando el siguiente UserForm:

El procedimiento es sencillo, en las combobox tengo categorías que podré seleccionar porque se encuentra en la hoja "BBDD".

Ahora bien, necesito saber si es que se puede hacer que las combobox solo muestren los datos una sola vez, aunque a veces se repitan. Como es complicado de explicar y más de entender, adjunto la siguiente imagen:

Por necesidad, necesito trabajar con este modelo de planilla y no puede ser otra.

El problema es puntual, por ejemplo al desplegar la combobox de area me aparece tantas veces la palabra "MÁQUINA" como esta aparece en la hoja "BBDD". Necesito que solo aparezca UNA VEZ la palabra "MÁQUINA" a pesar de estar repetida.

3 Respuestas

Respuesta
2

H o l a:

Te anexo el código para cargar el combobox de área:

Private Sub UserForm_Activate()
'Por.Dante Amor
    Set h1 = Sheets("BBDD")
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        agregar ComboBox1, h1.Cells(i, "A")
    Next
End Sub
'
Sub agregar(combo As ComboBox, dato As String)
'Por.Dante Amor
    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

Ahora, para cargar los datos en el combo sección, vas a necesitar agregar este evento:

Private Sub ComboBox1_Change()
'Por.Dante Amor
    Set h1 = Sheets("BBDD")
    ComboBox2.Clear
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "A") = ComboBox1 Then
            agregar ComboBox2, h1.Cells(i, "B")
        End If
    Next
End Sub

Supongo que el combo Parte, depende de los 2 combos Área y Sección, si tienes dudas de cómo llenarlo me lo pones en una nueva pregunta.

Respuesta
1

Este ejemplo carga un listado sin duplicados a un combobox

http://www.programarexcel.com/2014/11/combobox-sin-duplicados.html 

Respuesta
1

Pasame una dirección de mail y te dejo un archivo ejemplo que hace lo que necesitás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas