工作表范围参考 - 根据添加/删除的数据进行扩展

时间:2015-08-27 15:15:10

标签: excel vba excel-vba excel-formula

尝试根据添加的数据长度更改数组。必须删除数据,除了从A:4开始的顶行,然后通过数据库拉取数据,该数据库创建向下钻取到节点底部的行。这可能与A10:Axxxxx不同,具体取决于该节点中的数据。

  

=AVERAGE(IF((MOD(ROW(Repurchase!E4:E45)+4,6)=0)*(Repurchase!E4:E45)<>0,(MOD(ROW(Repurchase!E4:E45)+4,6)=0)*(Repurchase!E4:E45)))

到目前为止,它有效。但当然一旦数据被删除并重新拉出

  

Repurchase!#REF!

显示,我必须手动添加回A4:Axxxx。

任何帮助将不胜感激。如果需要可以使用VBA,但正在寻找非宏工作表解决方案。

1 个答案:

答案 0 :(得分:0)

Repurchase!E4:E45的所有引用替换为

Repurchase!E4:INDEX(Repurchase!E:E, MATCH(1e99, Repurchase!E:E))

这将创建从E4到E列中最后一个数字的范围。您可以删除没有后果的行,但范围将动态重塑为新的比例。范围内可以有空白或文本。它始终是从E4到列中的最后一个数字。

如果有人建议使用OFFSET function,请告诉他们您更愿意避免使用易失性功能。

如果行也可能影响E4,则使用INDEX function引用范围引用中冒号的两侧。

INDEX(Repurchase!E:E, 4):INDEX(Repurchase!E:E, MATCH(1e99, Repurchase!E:E))