vba - 公式vba中循环的迭代

标签 vba excel loops excel-formula

我正在尝试对从第 3 行开始的可变数据范围求和。 sortedRow 是数据末尾的行号。 lColumn 是用作数字的最后一列。

我正在尝试对第 1 行 H - lColumn 列中的数据求和。

我需要让公式计算 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”并不重要。所以我认为其他列无关紧要。

任何帮助,将不胜感激!

最佳答案

你这里有问题。

("$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

关于vba - 公式vba中循环的迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124985/

相关文章:

excel - VBA to SAP//以表格为输入参数的 RFC 功能模块

vba - 如何从 VBA 中的函数返回错误对象?

excel - 删除整个工作表中的重复行

excel - WorksheetFunction.Filter 中的数据类型错误

javascript - 如何将查询结果推送到node.js中的数组变量?

android - 循环时听按钮

VBA 是使用 Find 方法更快地搜索单元格还是遍历每个单元格?

c# - 操作方法 : Run existing Word VBA Macros from C# Ribbon Addin

java - 如何在 Java (Selenium) 设置中使用 Apache POI 多个线程(并行测试用例)同时访问同一个 Excel 文件?

excel - 根据 =RIGHT 值的值执行不同的 VLOOKUP