2

我试图弄清楚如何修改 VBA 中的现有方程。当前等式是 sum(A1+A3+A5) 我每隔一行跳过一次。我有一个宏可以在 A 列的末尾添加两行,所以当添加这些新行时,我需要将该等式更新为 sum(A1+A3+A5+A7)。

4

2 回答 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 回答