Понимание формулы суммы как промежуточного итога в цикле for - PullRequest
0 голосов
/ 15 мая 2019

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

"=SUM(R" & j & "C:R" & i & "C)"

Что подразумевается под R, C:R и C?Кто-нибудь может пожалуйста перевести, как соответствующий вывод, например =SUMME(E$4:E$4) соответствует этой формуле?

Это итоговая функция Excel:

enter image description here

Код выглядит следующим образом:

Dim iCol As Integer 
Dim i As Integer 'Makro f?ngt ab diese Zeilenummer an
Dim j As Integer 'Makro geht mit diese Zeilenummer im Loop weiter

Worksheets("Italy").Activate

Application.ScreenUpdating = False
i = 4 'Makro f?ngt ab diese Zeilenummer ab
j = i

'Loops throught Col B Checking for match then when there is no match add Sum
Do While Range("A" & i) <> ""
    If Range("A" & i) <> Range("A" & (i + 1)) Then
        Rows(i + 1).Insert
        Range("A" & (i + 1)) = "Subtotal " & Range("A" & i).Value
        For iCol = 5 To 11 'Columns to Sum
            Cells(i + 1, iCol).Formula = "=SUM(R" & j & "C:R" & i & "C)"
        Next iCol
        Range(Cells(i + 1, 1), Cells(i + 1, 10)).Font.Bold = True
        Range(Cells(i + 1, 1), Cells(i + 1, 10)).Interior.Color = RGB(221, 237, 245)
        i = i + 2
        j = i
    Else
        i = i + 1
    End If
Loop
Application.ScreenUpdating = True

1 Ответ

1 голос
/ 15 мая 2019

Надеюсь, я понял, что вы пытаетесь спросить. Прежде всего, вы инициализируете две переменные, в вашем случае i и j, которые помогут вам перебрать ячейки.

i и j заменят в формуле суммы первый, второй, третий и т. Д. строка и столбец . Таким образом, вместо =SUM(R" & j & "C:R" & i & "C) у вас будет =SUM(R1 & "C:R" & 4C).

Разница между A1 и R1C1 заключается в том, как вы смотрите на него и на него ссылаетесь. Использование нотации R1C1 может помочь вам легче перебирать ячейки. Переход к следующей ячейке (справа) к A1 будет выглядеть примерно так: R1C2.

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