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

1 respuesta

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