将求和公式理解为for循环内的小计

时间:2019-05-15 07:27:48

标签: excel vba excel-formula sum

我找到了一个在表中创建小计的代码。该公式可以正常工作,但我不了解小计的和公式的语法:

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

RC:RC是什么意思?有人可以翻译相应的输出(例如=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 个答案:

答案 0 :(得分:1)

希望我确实了解您要问的问题。首先,您要初始化两个变量,在您的情况下,i和j将帮助您遍历单元格。

i和j将替换总和公式中的第一,第二,第三,依此类推,。因此,您将拥有=SUM(R" & j & "C:R" & i & "C)而不是=SUM(R1 & "C:R" & 4C)

A1和R1C1之间的区别是查看和引用它的方式。使用R1C1表示法可以帮助您更轻松地遍历单元格。转到A1的下一个单元(右侧)将类似于:R1C2。