在图表中固定了包含偏移量的VBA命名范围

时间:2018-11-14 14:52:33

标签: excel vba excel-vba

我有一个动态表,其Y列中的值:

我在名称管理器中使用以下公式创建series1 =OFFSET('Sheet1'!$Y$16,0,0,COUNTA('Sheet1'!$Y$16:$Y$5012),1)

我想通过VBA中的图表进行绘制,所以我做了

cht.Chart.SetSourceData Source:="=series1"

但是我在图形中得到的是"='Sheet1'!$Y$16:$Y$43",因为数据停在第43行

代替

='static bbg data'!series1

因此,如果以后在Y列的表中添加线,则不会在图形上进行更新,而要创建图表并手动添加='static bbg data'!series1

您能帮我解决这个问题吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

添加更新过程

将更新过程放入模块

System.Logger

并将其与图表数据一起放在工作表中

log(...)

每当数据更改时更新图表。

您可能需要在上面的代码中定义/调整System.Logger.Level


或使用格式化的表格

一种更简单的方法是将格式化的表用于源数据。并使用该完整表格作为来源制作图表。这样,如果表中添加了行或列,图表将自动更新。