【发布时间】:2016-02-01 16:26:52
【问题描述】:
我需要编写 vba 代码,其中单元格 GQ4 有公式
ActiveCell.Formula = "=SUM(CO4:CQ4)"
现在 Excel 数据中每个月都会添加一个新月份,因此公式也会每个月动态变化。 即下个月将是
"=SUM(CP4:CR4)"
简而言之,它将其列选择拖动 1 列
请帮我写一个可以动态改变公式的vba代码。
【问题讨论】:
我需要编写 vba 代码,其中单元格 GQ4 有公式
ActiveCell.Formula = "=SUM(CO4:CQ4)"
现在 Excel 数据中每个月都会添加一个新月份,因此公式也会每个月动态变化。 即下个月将是
"=SUM(CP4:CR4)"
简而言之,它将其列选择拖动 1 列
请帮我写一个可以动态改变公式的vba代码。
【问题讨论】:
请注意是否可以从自定义函数返回公式,但解决方案可能是编写返回所需范围的自定义函数,然后让 GQ4 中的公式将范围作为参数。
或者你可以用一个普通的工作表公式来解决它。
=SUM(INDIRECT(ADDRESS(4;15));INDIRECT(ADDRESS(4;16));INDIRECT(ADDRESS(4;17)))
将列号替换为您可以通过使用日期函数获得的基数 + 偏移量。例如
=SUM(INDIRECT(ADDRESS(4;14 + =MONTH(TODAY())));INDIRECT(ADDRESS(4;15 + =MONTH(TODAY())));INDIRECT(ADDRESS(4;16 + =MONTH(TODAY()))))
【讨论】: