Sumar cantidades de Artículos de 2 Libros en excel

Sigo trabajando y por apurado omití consultarte algo.

Tengo 2 libros en excel que adjunto por mail privado (3000 y 3001)

Lo que quisiera es:

1. Tomar el libro 3000 (aquí hay artículos (col A) - descripción (col B) - cantidades (col C))

2. Quiero compararlo con el libro 3001 (tiene idénticas columnas) (es decir, buscar por ejemplo el articulo 710330 del libro 3000 en el libro 3001) de manera que:

a) Si existe en el 3000 pero no en el libro 3001, el dato de cantidad (col C) en el libro 3000 queda como está (celda C79 = -1300)

     b) si existe en ambos libros, entonces solo se debe sumar ambas cantidades (dato de col C) y actualizar el dato en el libro 3000 (tambien en col C) (el resultado sera en este caso celda C79 = -1300 (libro 3000) + celda C20 = -200(libro 3001) ==> C79 = -1500)

c) Si no existe en el libro 3000 pero está en el libro 3001, entonces copiar toda la fila del articulo desde el libro 3001 (710330 // TUERCA M12 DIN 934-8 GALV.// -200) y agregarla en el libro 3000 al final del mismo

d) Por ultimo ordenar datos del Libro 3000 por col A de menor a mayor

1 respuesta

Respuesta
1

Te anexo la macro

Sub Sumar_Cantidades()
'Por.Dante Amor
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets(1)
    Set l2 = Workbooks("3001.xls")
    Set h2 = l2.Sheets(1)
    '
    'lee libro1 y busca en 2, si encuentra actualiza cantidad
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        Set b = h2.Columns("A").Find(h1.Cells(i, "A"), lookat:=xlWhole)
        If Not b Is Nothing Then
            h1.Cells(i, "C") = h1.Cells(i, "C") + h2.Cells(b.Row, "C")
        End If
    Next
    'lee libro2 y busca en 1, si no encuentra copia el registro de 2 a 1
    For i = 2 To h2.Range("A" & Rows.Count).End(xlUp).Row
        Set b = h1.Columns("A").Find(h2.Cells(i, "A"), lookat:=xlWhole)
        If b Is Nothing Then
            u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
            h2.Rows(i).Copy h1.Rows(u)
        End If
    Next
    MsgBox "Fin"
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas