通过动态拖动更改列公式的vba代码

时间:2016-02-01 06:10:25

标签: excel vba

我需要编写vba代码,其中单元格GQ4具有公式

ActiveCell.Formula = "=SUM(CO4:CQ4)"

现在每月都会在Excel数据中添加新月,因此公式也会每月动态变化。 即下个月它将是

"=SUM(CP4:CR4)"

简而言之,它将列选择拖动1列

请帮我写一个动态更改公式的vba代码。

1 个答案:

答案 0 :(得分:0)

请注意,是否可以从自定义函数返回公式,但解决方案可能是编写返回所需范围的自定义函数,然后让GQ4中的公式将范围作为参数。< / p>

或者您可以使用正常的工作表公式解决它。

=SUM(INDIRECT(ADDRESS(4;15));INDIRECT(ADDRESS(4;16));INDIRECT(ADDRESS(4;17)))

使用日期函数替换可以获得的基数+偏移量的列号。 E.g。

=SUM(INDIRECT(ADDRESS(4;14 + =MONTH(TODAY())));INDIRECT(ADDRESS(4;15 + =MONTH(TODAY())));INDIRECT(ADDRESS(4;16 + =MONTH(TODAY()))))