Macro para sumar una cantidad

Me podría ayudar para hacer una rutina o macro que me sume 2 valores que tienen un mismo código por ejemplo:

código         descripción                                                              cantidad            total 

70061       MEXLUB TITANIUM MR, SL SAE 50 900                     20                 20

70110       MEXLUB MR, ATF DEXRON II , 900                                3                  6

70110       MEXLUB MR, ATF DEXRON II , 900 ML                         3

Como puedes ver hay dos artículos que que tienen un mismo código y lo que quiero es que de ese mismo código que se repita me los sume la cantidad que tiene de artículos.

2 respuestas

Respuesta
2

H  o   l   a:

En estos casos lo más práctico es realizar una tabla dinámica

Selecciona tus datos, entra al Menú Insertar, selecciona Tabla Dinámica.

Selecciona Hoja de cálculo existente y selecciona alguna celda, por ejemplo F2, presiona Aceptar.

Ahora arrastra el campo código a Rótulos de fila y el campo Cantidad a Valores

.

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

.

Avísame cualquier duda

.

Lo que pasa que necesito que sea una macro por va dentro un código que tengo yo en el cual hace comparaciones

Envíame un archivo para ver cómo tienes tus datos.

En la hoja1 pon tus datos originales, en la hoja2, pon cómo quieres el resultado

Mi correo [email protected]

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

Ya le envíe el correo

Me puedes enviar un nuevo correo con el archivo de ejemplo. En el asunto del correo escribe tu nombre de usuario “Jaqueline Rodriguez” y el título de esta pregunta.

Listo ya lo hice ya lo envíe espero y lo aya recibido

Te anexo la macro

Sub Resumen()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h2.Rows("2:" & Rows.Count).Clear
    u = h1.Range("D" & Rows.Count).End(xlUp).Row
    With h1.Sort
        .SortFields.Clear
        .SortFields.Add Key:=h1.Range("D2:D" & u), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=h1.Range("F2:F" & u), _
            SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
        .SetRange h1.Range("A1:G" & u)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    '
    j = 2
    For i = 2 To u
        cod = h1.Cells(i, "D")
        Set b = h2.Columns("D").Find(cod, lookat:=xlWhole)
        If Not b Is Nothing Then
            h2.Cells(b.Row, "B") = h2.Cells(b.Row, "B") + h1.Cells(i, "B")
            h2.Cells(b.Row, "G") = h2.Cells(b.Row, "B") * h2.Cells(b.Row, "F")
        Else
            h1.Rows(i).Copy h2.Rows(j)
            j = j + 1
        End If
    Next
    Application.ScreenUpdating = True
    h2.Select
    MsgBox "Resumen terminado"
End Sub

.

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

.

Avísame cualquier duda

.

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas