Добавить итоги в последний ряд критериев - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь настроить простой макрос для добавления итогов из столбца B на основе номера спреда столбца A. У меня с помощью VBA следующий код:

Sub SpacingTotals()
    Dim Rng As Range, Dn As Range, Temp As Range

    Set Rng = Range("A2", Range("A" & Rows.Count).End(xlUp))
    Set Temp = Rng(1)

    For Each Dn In Rng
        If Not Dn.Value = Temp Then
            Set Temp = Dn
        End If

        Dn.Offset(, 0) = Dn.Value
        Temp.Offset(, 2) = Temp.Offset(, 2) + Dn.Offset(, 1).Value
    Next Dn

End Sub

Проблема, с которой я столкнулсяиметь больше проблема форматирования. Мне нужны итоги в последней строке критериев спреда, а не в первой строке (см. Изображение).

Любой толчок в правильном направлении приветствуется.

Should be

1 Ответ

2 голосов
/ 23 октября 2019

Вот версия, использующая переменную total в качестве промежуточного итога. Когда spread в следующей строке не соответствует текущей строке, total записывается в столбце справа.

Sub SpacingTotals()

    Dim total As Long

    Dim spread As Range
    For Each spread In Range("A2:A" & Range("A" & Rows.count).End(xlUp).Row)

        total = total + spread.offset(0, 1).Value2

        If spread.Value2 <> spread.offset(1, 0).Value2 Then
            spread.offset(0, 2).Value2 = total
            total = 0
        End If

    Next spread

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...