Cómo cargar datos únicos en un combobox

Estimado experto.

Ahora esta es mi siguiente duda, tengo una lista de nombres en la columna y quiero que al abrir el formulario esos nombres se carguen en un combobox, pero los nombres pueden estar repetidos, solamente quiero que se carguen una vez.

Gracias

1 respuesta

Respuesta
1

Supongo que tus datos empiezan en la fila, si no es así, cambia el 2 de la siguiente línea de la macro por la línea en la que empiezan tus datos.

For i = 2 To Range("A" & Rows.Count).End(xlUp).Row

Los datos se cargan en el combobox1

Private Sub UserForm_Activate()
'por.Dante Amor
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        agregar ComboBox1, Cells(i, "A")
    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, 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

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas