Buscar y marcar en una columna según datos de otra

Tengo dos columnas (1) con una serie de datos y otra columna(2) con datos base.

Necesito una macro excel 2010 que tome la primera celdad de columna base(2)y la busque en la columna(1), si encuentra datos iguales las pinte, después retorne al la columna(2) baje al segunda posición y realice lo mismo hasta que termina con cada celda de la columna base(2)

1 Respuesta

Respuesta
1

H o l a:

Te anexo la macro, cambia "A" y "B" por las columnas que quieras comparar.

Sub CompararColumnas()
'Por.Dante Amor
    col1 = "A"
    col2 = "B"
    For i = 1 To Range(col2 & Rows.Count).End(xlUp).Row
        Set b = Columns(col1).Find(Cells(i, col2), lookat:=xlWhole)
        If Not b Is Nothing Then
            Cells(i, col2).Interior.ColorIndex = 6
            Cells(b.Row, col1).Interior.ColorIndex = 6
        End If
    Next
    MsgBox "Terminado"
End Sub

Muchas gracias por tu respuesta.

Funciona, pero olvide que en la columna (1) donde se debe buscar los números puedes duplicarse varias veces y esos esta bien, por lo tanto debe pintar todos los encuentre de ese numero y así en toda la columna en la columna (2) Son números únicos

Te anexo la macro actualizada

Sub CompararColumnas()
'Por.Dante Amor
    col1 = "A"
    col2 = "B"
    Columns(col1).Interior.ColorIndex = xlNone
    Columns(col2).Interior.ColorIndex = xlNone
    For i = 1 To Range(col2 & Rows.Count).End(xlUp).Row
        Set r = Columns(col1)
        Set b = r.Find(Cells(i, col2), lookat:=xlWhole)
        If Not b Is Nothing Then
            ncell = b.Address
            Do
                'detalle
                Cells(i, col2).Interior.ColorIndex = 6
                Cells(b.Row, col1).Interior.ColorIndex = 6
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
        End If
    Next
    MsgBox "Terminado"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas