Comparación líneas dos libros en excel

Tengo un libro "A" que es una base de datos de todo el año. Semanalmente se debe actualizar con información de un libro "B" con igual número de columnas en el deber aparecer nuevas filas que no están iguales en el libro "A". Necesito poder comparar cada fila, celda por celda para determinar cuales de "B", no están en "A". Las columnas en los dos libros van de la A a la W.

Agradezco orientación sobre la macro o las funciones que debería usar para hacer esto eficiente.

1 Respuesta

Respuesta
2

Podrías enviarme un archivo con unos ejemplos y te regreso el archivo con la macro.

Esta sería la macro, el proceso puede ser lento dependiendo del número de filas que tenga cada archivo.

Cambia en la macro los nombres de los libros a y b y el nombre de sus respectivas hojas a compararse.

La macro deberás ponerla en el libro a.

Deberás tener los 2 libros abiertos.

Sub comparar()
'Por.DAM
    Set l1 = Workbooks("libroa") 'Libro A
    Set l2 = Workbooks("librob") 'Libro B
    Set h1 = l1.Sheets("Hoja1") 'Hoja del libro A
    Set h2 = l2.Sheets("Hoja1") 'Hoja del libro B
    n = 0
    x = h2.Range("A" & Rows.Count).End(xlUp).Row
    y = h1.Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To h2.Range("A" & Rows.Count).End(xlUp).Row
        For j = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
            Application.StatusBar = "Comparando el libro: " & l2.Name & " la fila " & i & " de " & x & _
                                    ", En el libro: " & l1.Name & " con la fila " & j & " de " & y
            For k = 1 To h1.Columns("W").Column
                If h2.Cells(i, k) = h1.Cells(j, k) Then
                    n = n + 1
                End If
            Next
            If n = 23 Then Exit For
        Next
        If n <> 23 Then
            u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
            h2.Rows(i).Copy h1.Rows(u)
        End If
        n = 0
    Next
    Application.StatusBar = False
    MsgBox "Comparación terminada"
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

1. Abre tu libro a y selecciona la hoja con los datos.

2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11

3. En el menú elige Insertar / Módulo

4. En el panel del lado derecho copia la macro

5. Ahora para crear un botón, puedes hacer lo siguiente:

6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas

7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.

8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”

9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: comparar

10. Aceptar.

11. Para ejecutarla dale click a la imagen.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas