En otros artículos hemos vistos varios
métodos de búsqueda en Excel. A la hora de buscar información de una base de
datos extensa es muy útil. De acuerdo a su nivel de conocimiento de Excel pueden utilizar cualquiera de ellos. Ver “Lista de
Artículos”.
En este artículo vamos a acercarnos a una
mini aplicación ya vista “Búsqueda inteligente con Combobox en Excel”.
La diferencia es que se hacia la búsqueda de manera inteligente e incremental,
es decir, a medida que introducíamos información en el combobox iba acomodando
los resultados para mostrar. Sin embargo, ahora vamos a usar un evento click en
un botón para realizar la búsqueda cuando introducimos la palabra clave.
También nos va mostrando los resultados en una lista. De la otra forma hay que
usar un evento “change” pero es más complicado controlar el código por la forma
en que funciona el evento.
Click en la imagen para ver el video o en este Link.
Para explicar este método vamos a usar una pequeña plantilla
de ejemplo.
Tenemos una lista de elementos ordenados que pueden ser
productos, para el ejemplo basta:
Como ven, también tenemos un botón de lanzamiento. Si el
formulario se llama “combo”, el código dentro de una macro sería.
‘macro que lanza el formulario
Sub ini()
combo.Show
End Sub
A diferencia del artículo
anterior, agregamos un boton que llamamos “Search”.
Luego veremos el código que va a tener este boton de comando:
Private Sub Search_Click()
'limpio valores anteriores
ComboBox1.Clear
‘hago un bluque para agregar a la lista todos los ítemes que cumplan una condición
For i = 0 To 8
lista = Range("C"
& 8 + i).Value
'reviso si el valor de la
variable coincide con la key introducida
‘si coincide lo agrego a la
lista
If InStr(1, lista,
ComboBox1.Value, vbTextCompare) > 0 Then
ComboBox1.AddItem lista
End If
Next
'desplega la lista
ComboBox1.DropDown
End Sub
Otra cosa a tener en cuenta para que funcione el combo
,como esta previsto ,es cambiar el valor de ciertas propiedades. Para este
caso:
‘esta propiedad permite
efectuar búsquedas automáticas en la lista según la coincidencia del primer
carácter o de todos a medida que se escribe.
‘para
este caso no nos sirve y lo desactivamos.
MatchEntry
=2 – fmMatchEntryNone
El código es bastante simple, se utilizan sentencias
simples. Sin embargo, si hay algo con el cual no estamos familiarizados, una
variable, una propiedad, etc., pueden utilizar la ayuda de VBA con el botón F1
sobre la palabra. Sino lo pueden buscar en internet.
Ahora para terminar vamos a ver que pasa
cuando utilizamos el combo de búsqueda.
Búsqueda
sin palabra clave
SI chicleamos el botón sin colocar alguna
palabra clave nos despliega la lista completa de elementos.
Búsqueda
con palabra clave
La idea anterior volcada a nuestros
formularios nos puede ser bastante útil para encontrar info. Como ven funciona.
-------------------------------------- FIN
CÓDIGOS
Recuerden que los artículos algunas veces
requieren un mayor o menor nivel de conocimiento en ciertos temas de Excel, por
ejemplo formulas avanzadas, macros o VBA, etc. Sin embargo en los artículos se
nombran todos los elementos y con esta información podemos hacer nuestras
pequeñas investigaciones usando internet, así desarrollamos nuestro
conocimiento. Por ejemplo si utilizamos
la función “Y”, que la suponemos conocida, y no sabemos ¿qué es? podemos buscar
en internet para ver como se utiliza y cuales son los componentes. Las mini
aplicaciones no son más que la recopilación de muchos elementos para dar forma
a una nueva idea.
Pueden descargar
algunos ejemplos (plantillas/templates) de la zona de Descargas. Si
tienen alguna duda o consulta pueden hacerlo a través del formulario de contacto.
Les recomendamos
que sigan el blog por alguno de los medios, mail o por redes sociales, para
recibir las actualizaciones y novedades.
¡Éxitos!
Keys:
·
Búsqueda inteligente con
formulario ActiveX.
·
Búsqueda incremental en Excel.
·
Combobox ActiveX.
·
Incremental search in Excel.
12 comentarios:
Mala explicación, horrible la forma en que tratas de enseñar.
Con razón no hay ni siquiera un comentario.
Te dejo este... de limosnma!!
Hola amigo, Gracias por comentar!
Es bueno que haya comentarios pero existe google analytics con el cual puedes ver el interés de las personas.
Por otro lado, los comentarios son comentarios, para preguntas y dudas esta el formulario de contacto. A través de él recibimos muchas consultas, también comentarios, etc.
Saludos
Tengo un problema cuando selecciono un item del combobox, no se me completa el id como aparece en tu ejemplo no hace nada
Hola amigo, cómo estas! Gracias por comentar!
Seguramente estas omitiendo algo, en el ejemplo sencillo queríamos mostrar la selección del dato, luego deberías usar un evento click u change para hacer algo con el dato. Recuerda nos puedes escribir mediante el formulario de contacto. Saludos
me puedes enviar el archivo excel gracia uw_ucda_5@hotmail.com
Hola amigo, cómo estas! En este artículo mostramos todos los detalles, es muy fácil de hacer.
Saludos
Hola! está muy buena la forma de buscar, pero me es imposible transformar la busqueda para que la haga directamente en el combobox, sin usar el boton BUSCAR
probé ponerlo en un evento change , pero evidentemente algo hice mal
Podrías poner esa variante aqui?
Muchas gracias!!!
muy utiles tus videos
Hola amigo, cómo estas! Gracias por tus comentarios!
En cuanto a tu consulta, es más fácil con el botón porque si quieres utilizar el método change es muy complejo. Ese método hace que entres en una recurrencia cada vez que cambia algo del combo por lo que debes encontrar la forma de cortar esa recurrencia y ese es el problema. Se puede hacer, de hecho lo hemos hecho indirectamente en los otros artículos.
Saludos
por una parte agradezco que muestres en un vídeo que es posible hacerlo y por otro lado tu ejemplo no me sirve para nada :/ igual gracias
Hola amigo, cómo estas! Gracias por comentar! Entendemos tu frustración. Esto es muy avanzado, en teoría no se puede hacer en Excel pero lo hicimos y tienes mas artículos posteriores sobre este tema.
Saludos
Buenos días, gracias por el aporte. Tengo una duda. Si deseo agregar en la celda del excel mas datos hacia abajo, es decir, D, DD, DDD, E, EE, EEE, etc... como logro que el combobox tambien carge esos datos que agregué previamente? ya que solo me carga hasta el CCC... Muchas gracias por tu respuesta.
Hola amigo, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, dada la complejidad de este tema, tuvimos que abordarlo varias veces y en varios artículos. Para entender en 100% la idea y captar el concepto te recomendamos que leas todos los artículos. Es la idea del blog.
Esperamos tus comentarios.
Saludos
Publicar un comentario