Como puedo hacer una macros que sume el valor de celdas que cumplan una misma condición?

Necesito sumar valores que cumplan una condición y ademas remplazar el contenido de esas celdas por el valor de la suma

Por ejemplo, al ejecutarla me sume el precio de los nombres iguales, que el precio de juan en C2 y C3 sea la suma de las mismas osea 30, por ende 10+20, y asi con los demas.

Respuesta
1

Para lo que buscas en realidad no necesitas una macro, te propongo 2 opciones: tabla resumen o tabla dinámica. En la imagen podés observar la fórmula para la tabla resumen.

Si de todos modos necesitas obtener el resumen con la macro me comentas.

Elsa desde ya agradezco su ayuda, pero lo que necesito es que la misma información se mantenga en forma lineal. Si el nombre de juan esta en 2 ó 3 líneas siga estando en la misma cantidad de líneas y que además cada línea contenga el resultado de la suma. Por eso creo que la única forma de hacerlo es con una macro.

Entonces si lo que tengo inicial mente es...

Necesito que después de la macro quede de la siguiente forma

Claro esta que los puedo sumar uno a uno, pero resulta que trabajar con 100 o más nombres y valores diferentes es bastante, ojala me pueda ayudar con esto y de antemano gracias.

Esta sería la macro que trabaja en una col auxiliar. En este caso en D.

Sub MacroSUMA()
'x Elsamatilde
'se trabaja en col auxiliar
[D2].FormulaR1C1 = "=SUMIF(R2C1:R8C1,RC[-3],R2C3:R8C3)"
[D2].AutoFill Destination:=Range("D2:D" & Range("A" & Rows.Count).End(xlUp).Row)
'se copia resultados en col C, solo valores
Range("D2:D" & Range("A" & Rows.Count).End(xlUp).Row).Copy
[C2].PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'se limpia col auxiliar
Columns("D:D").ClearContents
[C2].Select
End Sub

Elsa, agradezco su ayuda funciona perfecto.

Una pregunta más, como debo entender esta función, R2C1:R8C1, (esto entiendo como el rango a trabajar)

RC[-3] pero esta parte no la entiendo. A que hace referencia, estoy recién adentrándome en macros y agradecería si me pudiese explicar esa línea.

[D2].FormulaR1C1 = "=SUMIF(R2C1:R8C1,RC[-3],R2C3:R8C3)"

Dejame por favor una nueva consulta con título: 'Significado de RC en macro' ya que el tema merece que se aclare para todos en general (si lo dejamos aquí en una consulta ya resuelta no se encontrará).

En el cuerpo del mensaje podes indicar que es Para Elsa.

Sdos!

¡Gracias! 

He realizado la pregunta, tal cual me lo indico, y estoy muy agradecido por la ayuda en esta pregunta. funciona tal cual necesito.

saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas