非常感谢qingyinie的方法,只是:(1)您的假设部分我不知道如何设置。(2)图表的数据区域我输成myRange后,实际上它会把Offset计算的当时区域填入的,此时保存作为模板,图表的数据区域已经是此时固定的区域了.因此,当外部程序往此模板填充数据时,图表的数据区域并没有动态变化,需要重新要从图表上选择数据区域重新输入myRange来刷新。
这就是目前我操作的情况。请问qingyinie,我的操作有何不对。谢谢您。
(1)假设部分不需要设置,只是说操作的当前状态,和希望完成的动作。即具体化你的提问。
(2)图表完成后,不要保存为模板。或者保存成模板再调用模板时,重新在数据区域输入myRange,但只需要输入一次,第二次有外部数据更新时,图表会跟着自动变化。
(3)我说的是基本方法,你如果需要跟其他外部数据更新,模板保存等联合起来应用,先要掌握这个基本方法。你可以按照我说的前提,模拟几个数据,做一下动态图表,成功了,再拓展其他应用。
图表的数据来自一个固定Sheet的固定两列,只是数据源的行数每次填充时是不定的,但可以由公式=COUNTIF(A:A,"*")计算到此次填充的最大有效行数。比如='sheet1'!$A$2:$B$5表示此次填充的有效数据源是A,B两列从第2行到第5行的区域。现在是用程序动态生成报表的,每次的最大有效行数是变化的。问题的实际就是:如何把图表数据源由静态的='sheet1'!$A$2:$B$5变成动态的='sheet1'!$A$2:$B$X (其中X的值就是=COUNTIF(A:A,"*"))