jueves, 29 de septiembre de 2011

Marcar la celda si se encuentra en ella una palabra o fragmento

Descargar el fichero: busca_fragmento.xlsm


Al buscar una palabra o un fragmento en Excel podemos utilizar Control+B y así buscaremos a mano, de uno en uno. Pero si deseamos buscar un fragmento que pudiera estar dentro de una celda, y deseamos hacer la búsqueda de forma masiva necesitaremos una pequeña macro que nos ayude. En este caso creamos la macro y la utilizamos junto con Formato Condicional para marcar las celdas que incluyen ese fragmento y que queden visibles con un cierto color. De esta forma localizaremos rápidamente y de forma visual las celdas que contienen el fragmento o palabra que deseamos buscar.


En la celda amarilla indicamos la palabra que deseamos buscar.

La función que hemos creado se llama =POSICION y tiene los siguientes argumentos:

=POSICION(texto;palabra;exacto)

donde:
  • texto, indica la celda donde está el texto que se quiere buscar
  • palabra, indica la palabra o fragmento que se desea buscar
  • exacto, es un argumento opcional. Si no se pone nada o se pone FALSO, o se pone 0, la búsqueda no será exacta, y por lo tanto no será sensible a mayúsculas y minúsculas. Por el contrario, si se pone la palabra VERDADERO, o se pone 1, la búsqueda será exacta y entonces si requiere que las mayúsculas, y minúsculas se cumplan escrupulosamente
La clave de todo está en la función de VBA denominada InStr que nos da el número de carácter que ocupa el primer carácter de la palabra buscada dentro del texto. Si da cero es que la palabra no se encuentra.

En el formato condicional lo que pedimos es que ese número de caracteres sea mayor que cero, lo cual indicará que la palabra buscada si se encuentra en el texto y que por lo tanto se ha de marcar de color verde la celda.

La macro es la siguiente.


4 comentarios:

  1. Hola estube viendo el articulo y me parecio interesante, yo hice de esta forma:

    =NO(ESERROR(HALLAR($C$5,$B8,1)))

    cree un formato condicional usando nueva regla de formula.

    aplique ese formato a la primera celda , luego copie formato a todas.

    ResponderEliminar
  2. Hola Lucio.

    Tu fórmula funciona estupendamente.

    Gracias por el aporte.

    ResponderEliminar
  3. Lucio.
    Excelente macro para millares de registros y filtrar las coincidencias, te felicito, saludos

    ResponderEliminar
  4. se puede hacer que la celda marcada se mantenga marcada aunque haga otra busqueda

    ResponderEliminar