¿Macro que compare datos de dos hojas distintas el la primera hoja están en fila y el la segunda están en columnas?

Tengo dos hojas, en la Hoja1 tengo mi fila (1:1) llamada códigos :

      A

CODIGOS                                        (Hoja1)

1 QPR-55-57

2 401FTR34P-TRK

Y necesito que esos códigos me los compare con la Hoja 2 pero los códigos de esta hoja están en columnas(A:AJ)

                 A                                        B                                       C                                    D          

1    401FTR34P-TRK          401FTR34P-TRK                                               401FVR34Q-TRK        (Hoja2)

Y necesito que me los pinte en la hoja 2 los que son iguales a los de la hoja1,

Teniendo en cuenta que los datos de la primera hoja siempre van a estar en la columna A y no cambian

Y que los datos de la segunda hoja siempre van a estar en las columnas A:AJ pero ellos obviamente si varían y también hay celdas que van a estar vacías dentro de este rango de columnas así como se muestra anteriormente.

2 Respuestas

Respuesta
1

Eso era lo que necesitaba hacer muchísimas Gracias!

Oye y como haría para que la búsqueda, ¿se haga en todas las hojas que tiene el libro? Osea yo tengo que hacer este procedimiento muchas veces en libros diferentes que tiene lo mismo que te envié por correo pero con muchas mas hojas como haría para que me busque lo mismo pero en todas las hojas que tiene el libro.

Respuesta
2

H o l a : La lógica de búsqueda debe ser así.

Los datos que van a ser afectados son los de la hoja2, por lo tanto, se lee el código de la hoja2 y se busca en la hoja1, si lo encuentra entonces se pinta de amarillo el código de la hoja2.

Te anexo la macro con algunos comentarios para que veas el significado de la macro.

Sub ComparaCodigos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    'Lee los códigos de la hoja2 de la fila 1
    For i = 1 To h2.Cells(1, Columns.Count).End(xlToLeft).Column
        If h2.Cells(1, i) <> "" Then
            'si la celda es diferente de blanco
            'Busca el código en la hoja1 columna A
            Set b = h1.Columns("A").Find(h2.Cells(1, i))
            If Not b Is Nothing Then
                'si lo encuentra, entonces pinta el código en la hoja2
                h2.Cells(1, i).Interior.ColorIndex = 6
            End If
        End If
    Next
    MsgBox "Fin"
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas