Macro para separar información por celda y hacer un buscar de un catalogo

Tengo en mi fila A la siguiente información:

A1 :     1123|1124|1349

A2:      1234|1209|78923|2849

A3:      2367|9838|9028|992

Lo que quiero es una macro que me diga si la información existe en un catalogo que tengo en otra hoja, a su vez que revise cada numero a partir de un "|" ejemplo de la A1 que revise

1123, 1124 y 1349 en mi catalogo y si no existe en mi catalogo me ponga en que fila no coincide al del catolgo.

1 Respuesta

Respuesta
1

Puedes poner 2 imágenes.

En la primera imagen pon estos datos como realmente los tienes:

A1 :     1123|1124|1349

A2:      1234|1209|78923|2849

A3:      2367|9838|9028|992

En otra imagen pones la hoja de tu catálogo.

Procura que en las imágenes se vean las filas y las columnas de excel.


Por último, explica claramente y de forma completa un ejemplo : 1123, 1124 y 1349, qué quieres hacer con cada número. Qué pasa si existen los 3 números en tu catálogo, qué pasa si existen 2, qué pasa existe uno, qué pasa si no existe ninguno.

Pero te faltó la explicación.

Por último, explica claramente y de forma completa un ejemplo : 1123, 1124 y 1349, qué quieres hacer con cada número. Qué pasa si existen los 3 números en tu catálogo, qué pasa si existen 2, qué pasa existe uno, qué pasa si no existe ninguno.

Solo quiero conocer si la información de la fila es correcta a la del catalogo, en caso de que no sea correcta una que me lo marque tal vez de un color, en cuanto a tu pregunta no importa si hay tres textos, dos o una vez, varia de acuerdo a la celda puede presentarse esos casos entonces solo quiero saber que la N cantidades que se repita el texto con | me las revise si la información es correcta a la del catalogo

Entiendo que quieres hacer una búsqueda, pero tienes que explicar qué quieres buscar cómo lo quieres buscar y en dónde quieres el resultado.

Ya tienes la imagen. Solamente explica un ejemplo de las imágenes.

Mi resultado seria que una vez que busco la informacion en mi catalogo  en la misma fila talves me marque con verde los textos que si se encontraron en el catalogo y con rojo los que no estan en el catalogo algo asi como un vlookup ...

Según tus imágenes los textos están en la columna AA de la hoja1 ( le voy a llamar hoja1, porque no pusiste cómo se llama)

En la columna "W" tienes tu catálogo de la hoja "catalogo" (le voy a llamar hoja "catalogo", porque tampoco pusiste cómo se llama)

Ejecuta la siguiente macro. Antes de ejecutar cambia los nombres de las hojas por los nombres de tus hojas.


Sub Buscar_Informacion()
'Por Dante Amor
    'Busca los datos de la columna W en catalogo
 'si existe lo pinta de verde de lo contrario lo pinta de rojo
    '
    Set h1 = Sheets("Hoja1")    'hoja con datos
    Set h2 = Sheets("Catalago")    'hoja con el catálogo
    '
    h1.Columns("W").Font.ColorIndex = xlAutomatic
    For i = 2 To h1.Range("W" & Rows.Count).End(xlUp).Row
        datos = Split(h1.Cells(i, "W"), "|")
        For j = LBound(datos) To UBound(datos)
            dato = WorksheetFunction.Trim(datos(j))
            ini = InStr(1, h1.Cells(i, "W").Value, dato)
            fin = Len(dato)
            Set b = h2.Columns("AA").Find(dato, lookat:=xlWhole)
            If b Is Nothing Then c = 3 Else c = 4
            h1.Cells(i, "W").Characters(ini, fin).Font.ColorIndex = c
        Next
    Next
    MsgBox "Fin"
End Sub


'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas