Excel 将求和公式理解为for循环中的小计
我发现了一个在表中创建小计的代码。该公式工作正常,但我不理解小计的总和公式的语法,即:Excel 将求和公式理解为for循环中的小计,excel,vba,excel-formula,sum,Excel,Vba,Excel Formula,Sum,我发现了一个在表中创建小计的代码。该公式工作正常,但我不理解小计的总和公式的语法,即: "=SUM(R" & j & "C:R" & i & "C)" R、C:R和C是什么意思?有谁能翻译一下相应的输出,例如=SUMME(E$4:E$4)与这个公式的对应关系吗 这是Excel的小计输出功能: 代码如下: Dim iCol As Integer Dim i As Integer 'Makro f?ngt ab diese Zeilenummer an Dim
"=SUM(R" & j & "C:R" & i & "C)"
R
、C:R
和C
是什么意思?有谁能翻译一下相应的输出,例如=SUMME(E$4:E$4)
与这个公式的对应关系吗
这是Excel的小计输出功能:
代码如下:
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
将iCol设置为整数
Dim i为整数“Makro f?ngt ab diese Zeilenumer an”
Dim j作为整数'Makro geht mit diese Zeilenumer im Loop weiter
工作表(“意大利”)。激活
Application.ScreenUpdating=False
i=4'Makro f?ngt ab diese Zeilenumer ab
j=i
'循环通过B列检查匹配,然后在没有匹配的情况下添加和
Do While范围(“A”和“i”)
如果范围(“A”&i)范围(“A”&i+1”),则
行(i+1)。插入
范围(“A”和(i+1))=“小计”和范围(“A”和i).值
对于iCol=5至11'列,求和
单元格(i+1,iCol)。公式=“=SUM(R”&j&“C:R”&i&“C)”
下一个iCol
范围(单元格(i+1,1)、单元格(i+1,10))。Font.Bold=True
范围(单元格(i+1,1),单元格(i+1,10)).Interior.Color=RGB(221237245)
i=i+2
j=i
其他的
i=i+1
如果结束
环
Application.ScreenUpdating=True
希望我理解了你想问的问题。首先,您要初始化两个变量,在您的例子i和j中,它们将帮助您遍历单元格
i和j将替换求和公式中的第一、第二、第三行,依此类推。因此,您将使用=SUM(R1&“C:R”&C:R”&i&“C)
,而不是=SUM(R1&“C:R”&4C)
A1和R1C1之间的区别在于您看待它和引用它的方式。使用R1C1表示法可以帮助您更轻松地遍历单元格。转到A1的下一个单元格(右侧)类似于:R1C2。请注意,行/列计数变量的类型应为
Long
Excel的行数超过Integer
所能处理的行数。您有大量的范围对象(范围、单元格、行),它们不指定wb&ws。这肯定迟早会引起错误。另外,请阅读插入公式和第1列的R=row
C=Column
R6=row 6
RC1=row。我想excel中有一个内置的公式叫小计
,可以让你这么做。难道公式
不需要是。公式1c1
?