我想弄清楚如何在VBA中修改现有的等式。当前的等式是总和(A1 + A3 + A5)我正在跳过每隔一行。我有一个宏在列A的末尾添加两行,所以当添加这些新行时,我需要将该等式更新为sum(A1 + A3 + A5 + A7)。
答案 0 :(得分:2)
更好的方法可能是使用不同的公式。
例如,要对列A
中的所有奇数行求和,请使用
=SUMPRODUCT(A:A*ISODD(ROW(A:A)))
答案 1 :(得分: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。