Como hacer una macro para insertar filas de subtotales

Tengo una base de Datos con varios tipos de clasificaciones por grupos, quisiera poder insertar una fila cada que termina un grupo

Así seria el ejemplo

1-1

1-1

1-1

Subtotal

1-2

1-2

Subtotal

1-3
Subtotal
2-1

2-1
Subtotal

2-2

2-2

2-2
Subtotal

3-1
Subtotal

3-2

3-2
Subtotal

3-3

3-3

3-3
Subtotal

1 Respuesta

Respuesta
1

Este es un ejemplo de la macro separa las partidas y hace las sumas de la segunda columna

y esta es la macro, solo cambia el a1 segun donde comiencen tus datos

Sub subtotales()
Dim unicos As New Collection
Set datos = Range("a1").CurrentRegion
With datos
    For i = 1 To .Rows.Count
        partida = .Cells(i, 1)
        On Error Resume Next
            unicos.Add partida, CStr(partida)
        On Error GoTo 0
    Next i
    For j = 1 To unicos.Count
        partida = unicos.Item(j)
        cuenta = WorksheetFunction.CountIf(.Columns(1), partida)
        fila = WorksheetFunction.Match(partida, .Columns(1), 0)
        Set AREA = .Rows(fila).Resize(cuenta, .Columns.Count)
        With AREA
            .Rows(.Rows.Count + 1).Resize(2).EntireRow.Insert
            .Rows(.Rows.Count + 1).HorizontalAlignment = xlGeneral
            .Rows(.Rows.Count + 1).VerticalAlignment = xlBottom
            .Rows(.Rows.Count + 1).WrapText = False
            .Rows(.Rows.Count + 1).Font.Bold = True
            .Cells(.Rows.Count + 1, 1) = "SUBTOTALES"
            .Cells(.Rows.Count + 1, 2) = WorksheetFunction.Sum(.Columns(2))
            .Cells(.Rows.Count + 1, 2).NumberFormat = "0,0.00"
            .EntireColumn.AutoFit
        End With
    Next j
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas