Sumar si se cumple condición de celda y repetir hacia abajo

Necesito un código vba que me sume de un rango los valores que coicidan con una celda en la columna a y se repita hacia abajo hasta que no existan más datos en la columna. Ej : en mi base tengo unos productos que se repiten y que tienen quilos, ya los extraje como valores únicos a otra hoja, ahora lo que quiero es sumar los kilos de los productos:

Producto kilos
PL8-A36 782.33
PL16-A36 4275.54
PL10-A36 146.27
PL14-A36 12.25
PL5-A36 235.82
PL4-A36 630.80
PL6-A36 140.55
PL18-A36 434.53
PL3-A36 4.01

El producto lo extraje con un código desde otra hoja

Respuesta

Creo que lo que necesitas lo puedes solucionar con una tabla dinámica, te dejo el código

Sub TABLAKILOS()
'Armar Tabla Dinamica
   Worksheets.Add(Before:=ActiveSheet).Name = "Tabla"
'Asignar las hojas que se utilizaran
    Set H1 = Sheets("hoja1")  'Reemplazar hoja1 por el nombre de la hoja donde están los datos
    Set h2 = Sheets("Tabla")
 'Asignar rango para la tabla dinamica
    U = H1.Range("A" & Rows.Count).End(xlUp).Row
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        H1.Range("A1:B" & U), Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:=h2.Range("A1"), TableName:="Tabla dinámica1", _
        DefaultVersion:=xlPivotTableVersion12
'Selecciono los campos para la tabla
    With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Producto")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet. PivotTables("Tabla dinámica1"). AddDataField ActiveSheet.PivotTables _
        ("Tabla dinámica1"). PivotFields("kilos"), "Suma de kilos", xlSum
End Sub

¡Gracias! gilber por tu respuesta... pero necesito hacerlo de la manera que te menciono, ya que tengo otro códigos y quiero meterlo dentro de ellos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas