Valores únicos en combobox desde listbox

Tengo un formulario que filtra datos entre fechas, y los muestra en un listbox. En el formulario tengo un combobox que debe filtrar por producto, lo que necesito es si este combobox puede contener solo valores únicos del listbox filtrado.

Adjunto ejemplo.

Desde ya muy agradecido.

2 Respuestas

Respuesta
1

No se anexó el ejemplo.

Pero después de carga el listbox puedes poner lo siguiente:

    ListBox1.RowSource = "A1:A12"
    '
    'Cargar únicos en combo
    For i = 0 To ListBox1.ListCount - 1
        Call Agregar(ComboBox1, ListBox1.List(i, 0))
    Next

Cambia el 0 en ListBox1.List(i, 0), por el número de columna del list que quieras cargar en el combo.

También Agrega el siguiente procedimiento en tu userform

Sub Agregar(combo As ComboBox, dato As String)
'por.DAM 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

Respuesta
1

Esto puede aportar algo

Puedes crear una colección con datos únicos y luego cargarlos al combobox

Dim cod As New Collection, dato

For g = 1 To UserForm1.ListBox1.ListCount - 1
Cod. Add UserForm1. ListBox1.List(g, 1) & UserForm1. ListBox1. List(g, 3), CStr(UserForm1. ListBox1.List(g, 1) & UserForm1. ListBox1.List(g, 3))
Next g

conta = 0
For Each dato In cod

combobox1. additem dato

Next dato

https://youtu.be/tLaLBuwlXvA

https://youtu.be/QhdpibidTVQ 

https://youtu.be/petgUObBKms 

https://youtu.be/sWrUt9kItsg

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas