Como diseñar un macro de excel que compare valores de la columna B en la hoja1, contra la columna B de la hoja2 y lo resalte?

La idea principal de este macro es comparar la información de ambas hojas, para esto quiero que el macro busque similitud de los números en la columna B de la hoja1 usando como referencia la columna B de la hoja2 y que estas similitudes queden resaltadas en verde en ambas hojas. También que al encontrar una de estos números revise si existe similitud de información en fecha y valor y si no son correctos los resaltara amarillo. Y en la hoja1 informara donde se encuentra la linea encontrada en la hoja2.

Adjunto imagenes de ejemplo.

1 Respuesta

Respuesta
1

Te anexo la macro

Sub Compara_Valores()
' Por Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h1.Range("A2:G" & Rows.Count).Interior.ColorIndex = xlNone
    h2.Range("A2:G" & Rows.Count).Interior.ColorIndex = xlNone
    '
    For i = 2 To h1.Range("B" & Rows.Count).End(xlUp).Row
        Set b = h2.Columns("B").Find(h1.Cells(i, "B").Value, lookat:=xlWhole)
        If Not b Is Nothing Then
            h1.Range(h1.Cells(i, "A"), h1.Cells(i, "F")).Interior.ColorIndex = 4
            h2.Range(h2.Cells(b.Row, "A"), h2.Cells(b.Row, "F")).Interior.ColorIndex = 4
            h1.Cells(i, "G").Value = "LINEA " & b.Row
            For k = 3 To 6
                If h1.Cells(i, k).Value <> h2.Cells(b.Row, k).Value Then
                    h1.Cells(i, k).Interior.ColorIndex = 6
                    h2.Cells(b.Row, k).Interior.ColorIndex = 6
                End If
            Next
        End If
    Next
    MsgBox "Fin"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Muchas gracias don Dante Amor, gracias a su ayuda puedo entender algo mas de los macros de excel y me sirvió mucho en lo que necesitaba hacer. Saludos desde Chile.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas