我试图弄清楚如何修改 VBA 中的现有方程。当前等式是 sum(A1+A3+A5) 我每隔一行跳过一次。我有一个宏可以在 A 列的末尾添加两行,所以当添加这些新行时,我需要将该等式更新为 sum(A1+A3+A5+A7)。
问问题
12458 次
2 回答
2
更好的方法可能是使用不同的公式。
例如,要对 column 中的所有 Odd 行求和A
,请使用
=SUMPRODUCT(A:A*ISODD(ROW(A:A)))
于 2013-07-13T03:40:17.390 回答
1
如果公式更改为,=A1+A3+A5
则代码可能是:
Range("B1").Formula = Range("B1").Formula & "+" & Range("A7").Address
或者,没有美元符号,
Range("B1").Formula = Range("B1").Formula & "+" & Range("A7").Address(False, False)
添加以响应 OP 评论。如果我假设新单元格在公式所在的上方两行,这是当前活动的单元格:
ActiveCell.Formula = Replace(ActiveCell.Formula, ")", "," & _
ActiveCell.Offset(-2, 0).Address(False, False) & ")")
根据需要调整值 -2。
于 2013-07-13T00:35:39.883 回答