¿Cómo puedo insertar una fila y sumar a la vez?

Buenas tardes expertos, mi pregunta es como puedo insertar filas y sumar a la vez a la hora de insertar esa fila.
Tengo una base de datos en la comlumna a con valores numéricos, lo que quiero hacer es separarlos lo números iguales y sumarlos insertando una fila:
        A B
1 32
2 32
3 32
4 48
5 48
6 48
7 48
8 53
9 53
10 53
Y que de como resultado así
A B
1 32
2 32
3 32
4 96
5 48
6 48
7 48
8 48
9 192
10 53
11 53
12 53
13 159
Tengo un código, pero nada más inserta filas y falta que sume en cada separación.
Sub Inserta()
i = 1
While Range("A" & i).Value <> ""
If Range("A" & i).Value <> Range("A" & i + 1).Value Then
Range("A" & i + 1 & ":A" & i + 1).EntireRow.Insert (xlShiftDown)
i = i + 1
End If
i = i + 1
Wend
End Sub

1 respuesta

Respuesta
1
He hecho lo que comentas con el siguiente código:
Sub InsLineas2()
    Dim cellIni$, cellFin$, varSuma
    Range("A3").Select 'Nos posicionamos en la primera fila de valores
    Do
    If IsEmpty(ActiveCell) = False Then
        cellIni = ActiveCell.Address 'Asignamos la celda inicial del rango temporal
        Do
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            ActiveCell.Offset(1, 0).Select
        End If
        Loop Until ActiveCell.Value <> ActiveCell.Offset(1, 0).Value
        cellFin = ActiveCell.Address 'Asignamos la celda final del rango temporal
        varSuma = Range(cellIni, cellFin) 'Asignamos el rango a sumar
        ActiveCell.Offset(1, 0).EntireRow.Insert 'Insertamos la línea
        With ActiveCell.Offset(1, 0) 'Efectuamos la suma y le damos un poco de formato a la celda
            .Value = Application.WorksheetFunction.Sum(varSuma)
            .Font.Bold = True
            .Font.Size = 12
        End With
        ActiveCell.Offset(2, 0).Select
    End If
    Loop Until IsEmpty(ActiveCell) = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas