在VBA中创build一个绝对但可变的引用
这里第一次海报,我一直在寻找最后一个小时没有成功,所以我转向寻求帮助…我有限的VBA知识可能是一个因素在这里。
我正在创build一个快速的macros,它将累计累加值。 我经常使用= SUM($ A $ 2:A2)和自动填充下来获得累计总和。 虽然我可以很快做到这一点,但我必须在不同的工作表中每天做好几次。 我的目标是根据当前选定的单元格,使绝对$ A $ 2的参考值变化。
所以我们假设我正在试图将这个公式添加到单元格B2中。 我知道我可以这样做:
ActiveCell.FormulaR1C1 = "=SUM(R2C1:RC[-1])"
然而,这个公式是不可用的,如果我的起始单元格是B2而我试图在各个列中累加求和数据。
是否有可能让VBA计算所选单元格和A2之间的列数,并将其用作variables来设置绝对引用? 如:
ActiveCell.FormulaR1C1 = "=SUM(R2Cvar:RC[-1])" where var is =COUNTA(R2C1:ActiveCell)+COUNTBLANK(R2C1:ActiveCell)-1
我知道上面的代码是无效的,但这是我能想到解释我想要实现的唯一方法。
你必须连接你的公式,例如
ActiveCell.FormulaR1C1 = "=SUM(R2C" & var & ":RC[-1])"
但是为了得到你的variables,你可以做
var = (ActiveCell.Column - 1)
就像是:
Sub ytrewq() Dim s As String With ActiveCell s = .Offset(0, -1).Address(0, 0) .Formula = "=SUM($A$2:" & s & ")" End With End Sub
Offset()
生成单元格的地址“刚好在左边”。