Вы находитесь на странице: 1из 3

Utilizar un ComboBox como lista de

bsqueda en Excel
by Sergio Alejandro Campos February 15, 2010
En ocasiones tenemos una lista con decenas o a veces hasta centenas de items que se nos
hace difcil buscar una coincidencia exacta y no una aproximada. El siguiente desarrollo
permite aadir a un ComboBox la lista que tenemos y encontrar el dato tal y como est en
la lista.
Instrucciones:
1.- Asignamos un nombre a la lista (recomendado).

2.- Entramos al editor de Visual Basic para Aplicaciones con Alt + F11. I
3.- Insertamos un UserForm y le aadimos un control de ComboBox, un Label y dos
botones (Buscar y Cerrar)

4. Damos doble click en una parte del formulario (no en algn objeto). Se podr
automticamente el mtodo Activate. Ponemos el siguiente cdigo:
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 botn Buscar y agregamos el siguiente cdigo:
Private Sub CommandButton1_Click()
Si existe algn error se brinca a la etiqueta Fin
On Error GoTo Fin
Para tener este cdigo, 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 cdigo para el botn Cerrar ser:
Private Sub CommandButton2_Click()
Unload Me
End Sub
La imagen de ejemplo

Dependiendo del diseador la lista puede estar oculta y para lanzar el formulario se podr
hacer por cualquier mtodo que desee.

Вам также может понравиться