Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel .地址(相对参考)_Excel_Vba - Fatal编程技术网

Excel .地址(相对参考)

Excel .地址(相对参考),excel,vba,Excel,Vba,我需要帮助创建一个公式,该公式将自动求和一列,然后在两个相邻列之间复制该公式。 每个月的行数都会不同,所以我需要它是动态的。我现在使用的代码返回一个绝对引用, 而我需要它是相对的 当前代码: Range("G1").Select Selection.End(xlDown).Select Selection.End(xlDown).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Delete ActiveCell

我需要帮助创建一个公式,该公式将自动求和一列,然后在两个相邻列之间复制该公式。 每个月的行数都会不同,所以我需要它是动态的。我现在使用的代码返回一个绝对引用, 而我需要它是相对的

当前代码:

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).地址(0,0,ReferenceStyle:=xlR1C1)&“&ActiveCell.Offset(-1).结束(xlUp).地址(0,0,ReferenceStyle:=xlR1C1)&”)
将返回公式:
“=SUM(M157:M312)

(0,0,
替换为
(false,false,
(RowAbsolute:=false,ColumnAbsolute:=false,
时,结果相同,请尝试以下操作:

ActiveCell.Formula = "=SUM(" & ActiveCell.Offset(-1).Address(False, False) & ":" & ActiveCell.Offset(-1).End(xlUp).Address(False, False) & ")"

为什么不定义一个动态的命名范围来确定行数,然后在<代码>和<代码>中使用那个名字?