Macro que sume los números de acuerdo a un número predeterminado

Tengo en mi libro de Excel dos hojas, en hoja2, columna A tengo una serie de números que bien pueden repetirse a lo largo de la columna, en la columna B, tengo un número asociado que le pertenece a cada número de la columna A, necesito una macro donde pueda colocar un número en la hoja1 y que me muestre la sumatoria de todos los datos de ese número que tiene la columna B de la Hoja2, ejemplo:

Hoja2:

A1=1, B1=10

A2=2, B2=5

A3=1, B3=5

Hoja1:

Con A1=1 la macro me debe sumar en B1=15

Con A1=2, B1=5

2 respuestas

Respuesta
1

¿Por qué macro? No te sirve directamente la fórmula sumar. ¿Si?

Hola, es exactamente como esta en la imagen pero lo necesito que me lo haga en código vba, si pudieras ayudarme te lo agradezco de ante mano... 

¿Pero quieres un procedimiento que fije un valor o una función personalizada?

En caso que sea un procedimiento. ¿Cómo lo activarás? ¿Mediante un botón?

Si puede ser aún botón que al presionar click me llame a la macro y arroje el resultado en la celda 

Te dejo los siguientes códigos:

Sub sumaNros(rangoSuma As Range, rangoCriterios As Range, Criterio As Range)
'rangoSuma y rangoCriterios deben tener la misma cantidad de filas
'Criterio debe tener una sola celda
'El resultado, queda en la celda a la derecha del criterio (si Criterio es la celda A1, quedará en B1)
Criterio.Offset(0, 1) = Application.WorksheetFunction.SumIf(rangoSuma, Criterio, rangoCriterios)
End Sub
Sub LlamarProcedimiento()
Dim rSuma As Range, rCriterio As Range, Donde As Range
Set rSuma = Sheets("Hoja2").Range("$A$1:$A$10")
Set rCriterio = Sheets("Hoja2").Range("$B$1:$B$10")
Set Donde = Range("$E$10")
sumaNros rSuma, rCriterio, Donde
End Sub

Al procedimiento "LlamarProcedimiento" es el que deberías asignar en alguna macro, pero primero deberías ajustar el rango de las instrucciones 

Set rSuma = Sheets("Hoja2").Range("$A$1:$A$10")
Set rCriterio = Sheets("Hoja2").Range("$B$1:$B$10")
Set Donde = Range("$E$10")

Para que apunten a donde quieres

Salu2

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas