Macro que sume varios rangos variables.

Estimados Master de Excel
Necesito su ayuda, tengo una planilla que que debo sumar o autosumar. Por ejemplo tengo las columnas A, B, C, DE y E, en las columnas C, DE Y E debo sumar datos consecutivos (una o más filas) pero que luego separa un fila y aparecen más datos, que también se suman en forma independiente. Dicha suma debe ir en la fila que dice TOTAL. El listado no es constante, varia siempre.
Ejemplo:
ColA,ColB, ColC, ColD, ColE
F1 Nombre, Fact, 23.800, 0, 23.800
F2,, 48.300, 0, 48300
f3 total,, suma, suma, suma
F4
F5 Nombre, Fact, 12.500, 0, 12.500
F6 , , 78.300, 0, 78300
F7 , , 55.555, 0, 55.555
f8 total,, suma, suma, suma
F9
F10 Nombre, Fact, 22.500, 0, 22.500
F11 , , 68.300, 0, 68.300
F12 , , 57.555, 0, 57.555
F13,, 125.000,0, 125000
f14 total,, suma, suma, suma
F=Filas
ETC.
Espero su ayuda, seria ideal para informes que debo hacer constantemente, y me demoro en sumar cada grupo. De antemano muchas gracias.
No se por donde subir mi archivo, me avisan para enviarles un ejemplo por email.
Respuesta
1
Tengo una duda tus datos te aparecen con el espacio de dos filas para que ahí introduzcas la sumatoria, ¿o ese espacio lo insertas tu?
Mi correo es [email protected], si deseas enviar un ejemplo
Esa fila la inserta con una macro, puedo desactivar ese código, ya que la instrucción es insertar debajo cuando encunetre la palabra TOTAL.
Te enviare el archivo por mail, muchas gracias.
Ok, este es la macro que necesitas, la probé y funciona. No olvides finalizar la pregunta
Sub suma()
Dim Comprobar, Contador
Comprobar = True: Contador = 5 ' Inicializa variables.
Do ' Bucle externo.
Do While Contador < 65000 ' Bucle interno.
Contador = Contador + 1 ' Incrementa el contador.
If Range("A" & Contador).Value <> "" Then ' Si la condición es verdadera.
If Range("A" & Contador).Value = " Código: " Then
Range("A" & Contador).Select
inicio = ActiveCell.Row
End If
If Range("A" & Contador).Value = " TOTAL" Then
Range("A" & Contador).Select
Fin = ActiveCell.Row - 1
Range("F" & Contador).Value = "=SUM(F" & inicio & ":F" & Fin & ")"
Range("g" & Contador).Value = "=sum(G" & inicio & ":G" & Fin & ")"
Range("H" & Contador).Value = "=sum(H" & inicio & ":H" & Fin & ")"
Excelente, resulto a la perfección, solo la primera suma no da resultado por esto =SUMA('F':F7), pero es insignificante con respecto a todas las sumas, la modifique y listo. Muchas gracias por el aporte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas