Макрос VBA для суммирования по группам - PullRequest
0 голосов
/ 20 февраля 2019

предположим, у меня таблица выглядит следующим образом: введите описание изображения здесь

enter image description here

Я пытаюсь подсчитать суммуЧисло от (до индекса), желаемый результат будет выглядеть так же, как в последнем столбце: введите описание изображения здесь

enter image description here

Посоветуйте, пожалуйста, как этого добиться в макросе VBA, заранее спасибо !!!

1 Ответ

0 голосов
/ 20 февраля 2019

Попробуйте:

Option Explicit

Sub test()

    Dim Lastrow As Long, i As Long, CurrentIndex As Long, NextIndex As Long, WholeIndex As Long
    Dim CurrentKey As String, NextKey As String

    With ThisWorkbook.Worksheets("Sheet1")

        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 2 To Lastrow

            CurrentKey = .Range("B" & i).Value & "_" & .Range("C" & i).Value & "_" & .Range("D" & i).Value & "_" & .Range("E" & i).Value
            CurrentIndex = .Range("D" & i).Value
            NextKey = .Range("B" & i + 1).Value & "_" & .Range("C" & i + 1).Value & "_" & .Range("D" & i + 1).Value & "_" & .Range("E" & i + 1).Value
            NextIndex = .Range("D" & i + 1).Value

            If CurrentKey = NextKey Then
                    If WholeIndex = 0 Then
                        WholeIndex = CurrentIndex + NextIndex
                    Else
                        WholeIndex = WholeIndex + NextIndex
                    End If
            Else
                If WholeIndex > 1 Then
                    .Range("F" & i).Value = WholeIndex

                End If

                WholeIndex = 0

            End If

        Next i

    End With

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