Utilizar un ComboBox como lista de búsqueda en Excel

En ocasiones tenemos una lista con decenas o a veces hasta centenas de items que se nos hace difícil buscar una coincidencia exacta y no una aproximada. El siguiente desarrollo permite añadir a un ComboBox la lista que tenemos y encontrar el dato tal y como está en la lista.

Ver video Utilizar un ComboBox como lista de búsqueda en Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Instrucciones:

1.- Asignamos un nombre a la lista (recomendado).

image

2.- Entramos al editor de Visual Basic para Aplicaciones con Alt + F11. I

3.- Insertamos un UserForm y le añadimos un control de ComboBox, un Label y dos botones (Buscar y Cerrar)

image

4. – Damos doble click en una parte del formulario (no en algún objeto). Se podrá automáticamente el método Activate. Ponemos el siguiente código:

Private Sub UserForm_Activate()
‘Asignamos como fuente la lista previamente creada
    Me.cmbAsesores.RowSource = “lstAsesores”
‘Le damos el foco al ComboBox
cmbAsesores.SetFocus
End Sub

5.- Ahora damos doble click al botón Buscar y agregamos el siguiente código:

Private Sub CommandButton1_Click()
‘Si existe algún error se brinca a la etiqueta Fin
    On Error GoTo Fin
‘Para tener este código, se puede utilizar la grabadora de macros
Cells.Find(What:=cmbLista, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
cmbLista.SetFocus
‘Cierra el formulario
Unload Me
‘Sale del procedimiento sin necesidad de llegar a la etiqueta Fin
    Exit Sub
Fin:
‘Si el dato escrito no está en la lista arroja el siguiente error
MsgBox “El dato ‘” & cmbLista & “‘ no se encuentra en esta hoja”, vbInformation, “Excel e Info”
cmbLista = “”
cmbLista.SetFocus
End Sub

6.- El código para el botón Cerrar será:

Private Sub CommandButton2_Click()
Unload Me
End Sub

La imagen de ejemplo

image

Dependiendo del diseñador la lista puede estar oculta y para lanzar el formulario se podrá hacer por cualquier método que desee.

Descarga el archivo de ejemplo

Descargar el ejemplo Utilizar un ComboBox como lista de búsqueda en Excel.rar

You may also like...