Сумма всех итераций переменной в VBA - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть следующий код

Dim i As Integer
For i = 3 To 10

    If Range("H3").Value = Cells(i, 2).Value And Range("I3").Value < Cells(i, 4).Value And _
            Range("I3").Value >= Cells(i, 3).Value Then

        Range("J3").Value = Cells(i, 5).Value

    End If

Next i

Я хочу, чтобы значение J3 представляло сумму всех итераций, а не только последнюю итерацию, если i.Можно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Хотя, безусловно, существуют более эффективные методы суммирования ячеек, для вашего конкретного метода это должно работать.

Dim i As long, lTotal as long    
For i = 3 To 10

    If Range("H3").Value = Cells(i, 2).Value And Range("I3").Value < Cells(i, 4).Value And _
            Range("I3").Value >= Cells(i, 3).Value Then

        lTotal = Cells(i, 5).Value + lTotal

    End If

Next i

Range("J3").Value = lTotal

Сохраняйте промежуточную сумму вашего цикла, затем используйте промежуточную сумму в качестве значения вашей ячейки послеВы закончили цикл

0 голосов
/ 14 ноября 2018

Изменить эту строку

Range("J3").Value = Cells(i, 5).Value

На:

Range("J3").Value = Range("J3").Value + Cells(i, 5).Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...