Como hacer que el resultado de la autosuma sea colocado en la parte superior del rango de celdas en lugar de la parte inferior?

En una columna tengo numeros que van desde la celda A5 hasta la celda A20 quiero que el resultado me salga en la celda A4 en lugar de la celda A21

1 Respuesta

Respuesta

¿Quieres una macro que haga esto?, ¿O con formulas?

Te dejo ambas opciones:

Con formulas:

celda a4=SUMA(A5:A20)

Con Macro:

Sub sum()
Cells(4, 1) = Application.WorksheetFunction.sum(Range("a5:a20"))
End Sub

Si gracias, eso ya lo he aplicado pero es que en mi trabajo continuamente me encuentro con una lista como de 60 o más partidas y cada una de ellas tienen insumos que van desde 2 hasta 40 o cincuenta celdas con cantidades. La suma de los insumos deben ir en la partida (digamos el titulo) y por ultimo hacer la suma de todas las partidas que me darían un gran total y la verdad me gustaría algo más mecanizado para abreviar el tiempo de ejecución.

Espero haberme explicado bien o me podrías decir si te mando un ejemplo

Mando el ejemplo.

La pregunta que hiciste al principio es algo diferente a lo que necesitas ahora, creo que logro entender lo que necesitas y se me ocurre algo, pero tendrás que cambiar un poco el formato de tu archivo. Lo que se me ocurre es sumar por color, es decir que toda aquella celda dentro de un rango que este coloreada la va a sumar, ejemplo dentro del rango g10: g500 esta la celda g11, g15, g18 de color azul, sumara su contenido y podrá ponerse el resultado en una celda, en tu caso en la celda a4. Te dejo el ejemplo:

Function SumarColor(color As Range, rango As Range)
    'color: La celda que contiene el color a sumar
 'rango: El rango de celdas a considerar en la suma
    Dim resultado       'Almacenará el resultado de la suma
    Dim celda As Range
    'Recorrer cada celda del rango
    For Each celda In rango
        'Sumar si el color de la celda es igual al color especificado
        If celda.Interior.ColorIndex = color.Interior.ColorIndex Then
            resultado = resultado + celda.Value
        End If
    Next celda
    SumarColor = resultado
End Function

Pon el código en un módulo, después en la celda a4 coloca "=SumarColor(G2, $G$2:$G$500)"

Donde:

sumarColor= Formula 

G2: Primer celda coloreada

G2:G500 = Rango de la suma

Si tienes problemas comenta.

Ese es el ejemplo de la suma por color, lo que comentaba de cambiar tu formato, serías esto, sólo colorear dentro de la celda para que la macro funcione, checa en la imagen las celdas coloreadas se han sumado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas