Macro de Excel Valore repedito y suma de valores

Espero puedan ayudarme con esto: Necesito una macro para poner en la columna E un único dato que se repite en la columna A, además el dato de la columna A esta asociado a dos números que se encuentran en la columna B y C y la suma de estos numero debe salir en la columna F y G respectivamente y además en la columna H debe salir el numero de veces que se repite el dato de la columna A, esto es para una cantidad de datos aproximada de 9 mil. De tal forma que quede así:

2 respuestas

Respuesta
3

Te paso las fórmulas para las 3 col solicitadas:

En F2 (y luego se arrastra al resto de la col F):   =SUMAR.SI(A:A;E2;B:B)

En G2:  =SUMAR.SI(A:A;E2;C:C)

En H2:  =CONTAR.SI(A:A;E2)

Sdos y no olvides valorar la consulta para cerrarla.

Si aún así necesitas una macro porque no quieres trabajar con fórmulas, avisame y no valores aún.

Aclara en ese caso, si la lista de la col E ya la tendrás armada o la macro debe obtenerla.

Sdos!

Bien, ya tenés las 2 opciones: escribir las fórmulas o ejecutar una macro (enviada x Adriel) que coloca las fórmulas.

Pero aún así te está quedando la hoja con fórmulas... entonces si deseas obtener solo los valores agregá a la macro justo antes del mensaje de Fin estas instrucciones:

 'EM: dejar solo valores
    h1.Range("F2:H" & u2).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("F2").Select
    MsgBox "Fin"
End Sub

Sdos y no olvides valorar las respuestas recibidas.

Elsa

Respuesta
2

[Hola 

Te paso la macro, cambias el nombre de la hoja por el tuyo. 

Sub Macro1()
'
'[Por Adriel Ortiz
'
    Set h1 = Sheets("Hoja1")
    u = Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A2:A" & u).Copy h1.Range("E2")
    '
    u1 = Range("E" & Rows.Count).End(xlUp).Row
    h1.Range("$E$1:$E$" & u1).RemoveDuplicates Columns:=1, Header:=xlYes
    u2 = Range("E" & Rows.Count).End(xlUp).Row
    With h1.Range("F2:F" & u2)
       .Value = "=SUMIF(C[-5],RC[-1],C[-4])"
    End With
    '
    With h1.Range("G2:G" & u2)
       .Value = "=SUMIF(C[-6],RC[-2],C[-4])"
    End With
    '
    With h1.Range("H2:H" & u2)
       .Value = "=COUNTIF(C[-7],RC[-3])"
    End With
    '
    MsgBox "Fin"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas