Extraer datos de cuatro columnas

Espero que me podáis ayudar como otras veces

Tengo que cotejar los datos de dos columnas A y B con C y D Quiero buscar los datos que sean diferentes y extraerlos en hoja2

1º buscar diferncias de A con C y copiarlo en E pero al copiarlo que aporte en F el mismo valor que tenia B

2º Buscar diferencias en C con A y copiarlo en G pero al copiarlo que aporte en H el mismo valor de D

3º eliminar los datos copiados en E F G H

4º ordenar para que coincidan en la misma fila los datos de A y C

5º Colorear la celda de rojo si los datos de A y B no son iguales a los que están en C y D

Es un poco complejo explicarlo pero si se pudiera hacer con una macro todo ahorraría mucho tiempo

1 Respuesta

Respuesta
1

H o l a:

Podrías enviarme una archivo y me explicas cada una de las búsquedas que se deben realizar y si la encuentra qué debe hacer y si no la encuentra qué debe hacer.

Envíame los ejemplos y explicaciones, puedes utilizar colores, comentario o varias hojas para explicar la secuencia de cada búsqueda.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “joseq mmmm” y el título de esta pregunta.

Ya te he mandado el archivo con la explicación. Mi correo es [email protected]

Gracias

H o l a:

Te anexo la macro

Sub Diferencias()
'Por.Dante Amor
    u = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
    If u < 3 Then u = 3
    Range("E3:L" & u).ClearContents
    '
    cd = 3 'cajas diferencia
    cn = 3 'cajas no existen en c
    For i = 3 To Range("A" & Rows.Count).End(xlUp).Row
        Set b = Columns("C").Find(Cells(i, "A"), lookat:=xlWhole)
        If Not b Is Nothing Then
            If Cells(i, "B") * -1 <> Cells(b.Row, "D") Then
                Cells(cd, "I") = Cells(i, "A")
                Cells(cd, "J") = Cells(i, "B")
                Cells(cd, "K") = Cells(i, "A")
                Cells(cd, "L") = Cells(b.Row, "D")
                cd = cd + 1
            End If
        Else
            Cells(cn, "E") = Cells(i, "A")
            Cells(cn, "F") = Cells(i, "B")
            cn = cn + 1
        End If
    Next
    '
    cn = 3 'madera no existen en A
    For i = 3 To Range("C" & Rows.Count).End(xlUp).Row
        Set b = Columns("A").Find(Cells(i, "C"), lookat:=xlWhole)
        If b Is Nothing Then
            Cells(cn, "G") = Cells(i, "C")
            Cells(cn, "H") = Cells(i, "D")
            cn = cn + 1
        End If
    Next
    MsgBox "Fin"
End Sub

':)
'S aludos. D a n t e   A m o r . R ecuerda valorar la respuesta. G racias
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas