Cargar combobox en orden alfabético

Quisiera saber si hay alguna forma de cargar un combobox que se encuentra dentro de un userform, recogiendo los datos de un rango variable situado en la columna B y que se visualicen de forma alfabética, he conseguido una en internet que lo hace ordenando previamente en la hoja y luego esta aparece en el combo, pero quisiera saber si hay manera de que lo haga directamente en el combo.

Mi version de excel es 2010

1 Respuesta

Respuesta
1

Utiliza lo siguiente para cargar los datos en el combo, debes hacerlo para la carga, no cuando ya cargaste los datos en el combo.

La columna es la B, pero cambia los datos de inicio y de fin, yo le puse de 2 y hasta el último dato de la columna B.

Private Sub UserForm_Initialize()
    For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
        AddItem Cells(i, "B"), Me.ComboBox1
    Next
End Sub
Sub AddItem(sItem As String, cmbBox As ComboBox)
    ' agrega los item en orden alfabético
    Dim l As Long
    For l = 0 To cmbBox.ListCount - 1
        Select Case StrComp(cmbBox.List(l), sItem, vbTextCompare)
        Case 0: Exit Sub ' ya exite en el combo
        Case 1
            cmbBox.AddItem sItem, l
            Exit Sub
        End Select
    Next l
    cmbBox.AddItem sItem
End Sub

Saludos.Dam

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas