公式vba中的循环迭代

时间:2015-08-20 17:48:47

标签: excel vba excel-vba loops excel-formula

我试图从第3行开始对可变范围的数据求和.RatingRow是数据末尾的行#。 lColumn是用作数字的最后一列。

我试图对第1行H列中的数据进行求和。

我需要让公式计算列G的总和,然后通过当前迭代(将是列h到x)迭代引用的列

我已经采纳了Scott Craner的建议,并将我的代码编辑为

Dim lColumn As Long
lColumn = ActiveSheet.Cells(3, Columns.Count).End(xlToLeft).Column
sortedRow = Cells(Rows.Count, "D").End(xlUp).Row

Dim i As Integer 'iterated column sum cell 
For i = 8 To lColumn

    Cells(1, i).Value =Application.WorksheetFunction.SumIfs(Range(Cells(3,7), 
    Cells(sortedRow, 7)), Range(Cells(3, i), Cells(sortedRow, i)), 1)

Next i

但是细胞没有使用它们的值进行更新。 感觉就像我错过了一些非常明显的东西,实际上将数字应用到细胞中。我以为上面会这样做。

由于应用了公式的问题,

添加了lColumn声明 添加了sortedRow声明。

basically this. But with variable column lengths and number of columns

基本上这个。但是具有可变的列长度和列数。 对于H列而言,有" #VALUE"并不重要。在卷列中。所以我认为对其他列来说并不重要。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

你这里有问题。

("$G3:$G" & sortedRow, i & "3:" & i & sortedRow, 1)

("$G3:$G" & sortedRow & "," & i & "3:" & i & sortedRow, 1)

但你仍然有问题。如果i = 4并且sortedRow = 12让我们说,这就是你所拥有的。

(G3:G12,43:412, 1)

所以你需要修复你的Criteria_range1。我从你的问题中不清楚你想要的标准是什么。

以下是有关参数的信息。 https://msdn.microsoft.com/en-us/library/office/ff193011.aspx