【发布时间】:2017-06-20 21:09:20
【问题描述】:
我编写了一个创建两个范围的 sumproduct 的代码....但是我希望最终答案在计算 sumproduct 的参考范围发生变化时改变
p = 1
For p = 1 To 12
ActiveSheet.Cells(LastRow + 2, 31 + p).Formula = WorksheetFunction.SumProduct(Range(Cells(3, 31 + p), Cells(LastRow, 31 + p)), Range(Cells(3, 6 + p), Cells(LastRow, 6 + p)))
Next p
例如,在上面的表格中,sumproduct 结果显示在 lastrow+2 th 行和第 31 列到第 42 列中,但是当我更改参考单元格时,答案不会改变 如何通过输入使我的最终结果动态化
【问题讨论】:
-
对于
.Formula,您需要添加一个公式,就像您将其手动添加到 Excel 单元格中一样,如.Formula("=SumProduct(…)"),以便 Excel 自动重新计算公式。要获取范围的地址并在公式中使用它,请使用 Range.Address method。 -
我们如何循环使用这种表示形式。请帮助我。
-
填写
p = 1的公式,例如Cells(LastRow + 2, 32).Formula = "…",然后将该单元格复制到其他单元格中是一种简单的方法,因此不需要循环:Cells(LastRow + 2, 32).AutoFill Destination:=Range(Cells(LastRow + 2, 32), Cells(LastRow + 2, 43))
标签: vba excel excel-formula