我需要帮助创建一个自动对一列进行求和的公式,然后将该公式复制到两个相邻列中。 每个月的行数会有所不同,所以我需要它是动态的。我现在使用的代码返回绝对引用, 虽然我需要它是相对的
当前代码:
Range("G1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Delete
ActiveCell.Offset(-1).Select
'NEED TO MAKE FORMULA RELATIVE
ActiveCell.FormulaR1C1 = "=SUM(" & ActiveCell.Offset(-1).Address(ReferenceStyle:=xlR1C1) & ":" & ActiveCell.Offset(-1).End(xlUp).Address(ReferenceStyle:=xlR1C1) & ")"
Selection.Copy
结果:=SUM($G$1:$G$156)
我需要的是删除这里的绝对引用
将代码更改为:
ActiveCell.FormulaR1C1 = "=SUM(" & ActiveCell.Offset(-1).Address(0, 0, ReferenceStyle:=xlR1C1) & ":" & ActiveCell.Offset(-1).End(xlUp).Address(0, 0, ReferenceStyle:=xlR1C1) & ")""
将返回公式:"=SUM(M157:M312)
将(0, 0,
替换为(false, false,
和(RowAbsolute:=False, ColumnAbsolute:=False,
时,结果相同
答案 0 :(得分:1)
试试这个:
ActiveCell.Formula = "=SUM(" & ActiveCell.Offset(-1).Address(False, False) & ":" & ActiveCell.Offset(-1).End(xlUp).Address(False, False) & ")"