Excel Avanzado

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

Excel Avanzado
Logo Excel Avanzado

Buscar y reemplazar masivo (parte1)

| 13 Comments

Sucede que a veces tenemos que ejecutar el buscar y reemplazar dentro de nuestro Excel varias veces, siempre bajo los mismos criterios ….aquí una versión simplificada de como resolverlo ….

Bien  asumamos que tenemos una relación de datos a reemplazar, para simplificar como la siguiente:

En esa relación encontramos que varios de los nombres han sido obtenidos de forma incorrecta (con errores ortográficos) , por lo que se hace necesario tener  una relación de correcciones a realizar.  Dicha relación de cambios esta anotada en una lista siguiente , la cual esta en otra hoja, tal como sigue:

Una solución (simplificada) sería como la siguiente, naturalmente hay cosas que mejorar aquí, como el uso de la última fila, y otros detalles, pero es un primer paso … en una publicación posterior colocaré una solución mas completa.

El resultado de la ejecución en nuestra hoja de Excel sería:

Esta solución es particularmente útil cuando se reciben los datos errados de la misma fuente mas de una vez, lo cual provoca que cada vez trabajemos de nuevo con los datos nos podemos ahorrar el tiempo de corrección manual respectivo.

13 Comments

  1. Se podría generalizar un poquito más si se utiliza un bucle abierto para no contar las celdas a copiar y utilizar la propiedad offset para recorrer cada celda.

    Sub copiado()

    x = 1
    Do
    origen = Sheets(1).Range(“a1”).Offset(x, 0)
    destino = Sheets(1).Range(“a1”).Offset(x, 1)
    x = x + 1

    y = 1
    Do While Not IsEmpty(Sheets(2).Range(“a1”).Offset(y, 0))
    If Sheets(2).Range(“a1”).Offset(y, 0) = origen _
    Then Sheets(2).Range(“a1”).Offset(y, 1) = destino
    y = y + 1
    Loop

    Loop Until Sheets(1).Range(“a1”).Offset(x, 0) = “”

    End Sub

    • Hola,

      Intento utilizar ésta rutina para buscar remplazar y no me hace nada.

      Entiendo que sheets(1) es la hoja donde tendo la lista de datos de referencia.
      u sheet(2) la base de datos donde remplazo los valores que encuentro en lista ¿verdad?

  2. Este código me sirve bastante ya que en muchos casoss cuando se exportan datos de un sistema, muchas veces los sistemas no aceptan valores como la “ñ” o las tíldes, por lo que al exportarlos estos figuran con caracteres extraños. Mediante este código se pueden corregir.
    El código de Renzo es algo más general y por ello más útil en varios casos.

    Muchas gracias por sus aportes.

  3. Hola, estoy buscando la manera de poder realizar una programación que pueda buscar y reemplazar muchas palabras en muchos documentos. Estos proceden de varias de datos que contienen muchos errores gramaticales y la idea es corregirlos de forma masiva,

    Se trata de buscar una palabra concreta tal y como está mal escrita y sustiturla por otra correctamente escrita. Es una sola palabra o una sencilla cadena de texto muy corta. Hasta el momento realizo las búsquedas y reemplazos uno a uno y en cada documento independiente con la consecuente inversión de tiempo y repetición de operaciones.

    La lista de las palabras a buscar las guardo y actualizo en un documento de dos columnas: A buscar / A reemplazar,

    Me podéis ayudar? Creo que seria crear una macro o un programa pero no lo se hacer.

    gracias

    • Hola, saludos desde Chile.

      Estoy intentando ahora algo similar para corregir direcciones pero solo he logrado reemplazar el error o abreviatura si está en la primera palabra de la dirección.

      Si tuviste éxito, agradeceré me comentes la solución

  4. Muy util para ordenar datos datos tambien se podria incluir un codigo para corregir las letras que esten en Mayúsculas y Minúsculas

  5. Hola necesito ayuda para de alguna forma lograr que en una hoja de excel se elimine solo una celda duplicada que especifique otra celda, por ejemplo digamos que tengo el rango A2:A5 y tengo una serie de materiales:
    1x
    2x
    1x
    4x
    5x
    y tengo una tabla de hubicaciones en el rango c2:E4
    1x 2x 5x
    1x 2x 5x
    1x 4x 5x

    lo que quiero es una forma de buscar los valores de mi rango A2:A5 dentro de mi tabla y elimine solo la primera repeticion.
    Espero haberme explicado y espero que exista alguna solucion a mi problema.

  6. Se puede insertar otro buscarv o buscar dentro de un buscarv?

  7. Buenas tardes

    la formula me busca y reemplaza bien cuando la palabra esta sola en una celda, pero cuando la palabra esta acompañada de mas texto no la encuentra, por ejemplo busco la palabra febrero y si esta sola la encuentra, pero si la palabra esta nomina de febrero no la encuentra.
    me gustaría saber de que otra forma puedo hacer para que encuentre la palabra

  8. Hola amigos, ustedes que son expertos podrían ayudarme con el siguiente caso: tengo un lista de nombres de personas entre otros datos en varias hojas en un solo archivo de Excel y requiero hacer búsquedas de dos o mas nombres. Actualmente debo hacerlo de uno en uno con la función correspondiente de buscar. Hay alguna forma de hacer una búsqueda “masiva”?

    • Hola Richard

      Desde la ventana para tradiconal para buscar, presiona “Opciones >>” luego en “Dentro de” cambia la opción “Hoja” por “Libro”.

      Saludos

  9. buen dia. pido ayuda.

    necesito una macro para realizar lo siguiente:
    en una planilla, especificamente en la columna J aparecen en forma ascendente valor.-
    quiero recorrerla toda la columna comenzando desde “J4”, comparando que el valor en la celda sea menor-igual a 7,……. y cuando encuentre un valor mayor a 7 se frene, vuelva a la celda anterior, y desde ahi copie todo el rango hasta “A1” (manteniendo el formato de la planilla)…. para luego volcarlo automaticamente a un mail ya definido y enviarlo.
    podran ayudarme???.
    muchas gracias
    saludos

  10. Estimados, buen día.

    lo que necesito es un buscador con macro que realice la búsqueda dentro del libro y otro archivo excel diferente, la cual si no encuentra la palabra se está buscando, este arroje un mensaje de (carpeta no entregada).
    necesito realizarlo mediante un botón el cual me despliegue una lista con las personas que estén trabajando en la w/o a buscar.

    En el libro cuento con cada hoja por personal, en donde se ingresan los datos de (componente – w/o – se y fecha), en donde distintos técnicos trabajan en una misma w/o. Para esto se necesita generar un buscador mediante un botón y una celda donde se ingrese la palabra a buscar en todas las Hojas y archivo diferente y como producto se despliegue una lista de todas las personas que estan trabajando en la w/o.

    Saludos.

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5