Excel VBA修改现有的公式
我想弄清楚如何修改VBA中的现有方程。 目前的方程是总和(A1 + A3 + A5)我跳过其他行。 我有一个macros在列A的末尾添加两行,所以当这些新行被添加时,我需要更新该公式(A1 + A3 + A5 + A7)。
更好的方法可能是使用不同的公式。
例如,要将列A
所有奇数行相加,请使用
=SUMPRODUCT(A:A*ISODD(ROW(A:A)))
如果公式更改为=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。