Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Cómo buscar un valor en un rango de celdas en VBA 150x99, ¿Cómo buscar un valor en un rango de celdas en VBA?

¿Cómo buscar un valor en un rango de celdas en VBA?

| 13 comentarios

En Excel, podemos encontrar formas de verificar si un valor existe dentro de un rango de valores. Por ejemplo, se puede utilizar la función “o”, que devuelve “verdadero” si encuentra el valor deseado. Asimismo, se puede utilizar la función contar.si que devuelve la cantidad de veces que aparece el valor deseado.

Por otro lado, si lo que se requiere es conocer exactamente las celdas donde se encuentra el valor deseado, se debe desarrollar una macro que realice esa búsqueda y los resalte.

Para programar esta macro, primero se deben definir las variables a utilizar.

Se requiere que el usuario ingrese en qué rango se van a buscar los valores y el valor que se desea encontrar. Además, se definen las variables resultado como rango (que es donde se realizará la búsqueda) y contador para determinar cuántas veces se repite este valor. Igualmente, se define la ubicación de la primera búsqueda que servirá para finalizar la búsqueda de valores.

fig1 300x58, ¿Cómo buscar un valor en un rango de celdas en VBA?

(Para mayor visualización de la imagen, hacer click en la misma)

Después de definir variables, se coloca el código Find donde se indica el rango de búsqueda. Se señala el valor a buscar y la forma de búsqueda.

fig2 300x16, ¿Cómo buscar un valor en un rango de celdas en VBA?

 

(Para mayor visualización de la imagen, hacer click en la misma)

Se ha agregado al código, instrucciones que muestran mensajes de acuerdo a las respuestas obtenidas. Con una lógica If…End if se muestra un mensaje dependiendo de cuántas coincidencias encuentre o si no encuentra coincidencias.

fig3, ¿Cómo buscar un valor en un rango de celdas en VBA?fig4, ¿Cómo buscar un valor en un rango de celdas en VBA?fig51, ¿Cómo buscar un valor en un rango de celdas en VBA?

Además, se incluye una lógica Do…Loop while, donde se coloca el código FindNext para seguir buscando coincidencias hasta que ya no encuentre más y no repita la ubicación del primer valor. Todos los valores encontrados cambiarán de color de fondo a verde y el color de fuente cambiará a blanco.

Para que el usuario pueda ingresar el rango y el dato que desea buscar, se ha colocado un formulario con los botones Nueva búsqueda y Salir.

fig6, ¿Cómo buscar un valor en un rango de celdas en VBA?

Por último, se han colocado dos botones, uno para comenzar la búsqueda y el otro para limpiar la hoja de los colores de búsquedas previas.

fig7 300x37, ¿Cómo buscar un valor en un rango de celdas en VBA?

(Para mayor visualización de la imagen, hacer click en la misma)

El código utilizado se puede encontrar en :

Cómo buscar un valor en un rango de celdas en VBA

 

Artículo escrito por: Piero Arbulú Zumaeta

13 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.