首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel VBA可变图表范围

Excel VBA可变图表范围
EN

Stack Overflow用户
提问于 2018-06-15 15:40:46
回答 4查看 1.2K关注 0票数 0

我有一个数据表,因为我每周都会添加一列,并且我尝试编写宏来更改图表源。

代码语言:javascript
复制
Sub test()
Dim ges, koz, daz  As Range
Dim Diaz As Integer

Sheets("Autopilot").Select
Diaz = Range("I2").Value  (the value will change every week like I2 = I2 +1)
Set koz = Range("C3").Resize(, Diaz)   ( this is the Header row)
Set daz = Range("C772").Resize(2, Diaz)  (these are the 2 data rows for the chart) 
Set ges = Union(koz, daz)
Sheets("Diagramm").Select
   ActiveChart.ChartArea.Select
   ActiveChart.SetSourceData Source:=Sheets("Daten").Range(ges)
End Sub

最后一行不起作用。我试过了,最后没有Range (只有.ges)。

有谁知道这是怎么回事吗?

致以最美好的问候

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-06-15 18:55:52

感谢大家的帮助,我找到了自己的解决方案:

带有工作表(“Daten”)的ActiveChart.SetSourceData Source:=ges结束于

致以最美好的问候

票数 0
EN

Stack Overflow用户

发布于 2018-06-15 15:49:18

VBA不需要创建动态图表范围。在范围名称中使用公式很容易做到这一点。看看Jon Peltier的网站,特别是如何绘制不断增长的数据集的最后x行的图表。

不需要运行代码,只需要运行公式。这还有一个额外的好处,那就是它可以在Excel online和手机上运行,而VBA不能。

https://peltiertech.com/Excel/Charts/DynamicLast12.html

票数 1
EN

Stack Overflow用户

发布于 2018-06-15 18:15:31

Teylyn的答案使用动态定义的名称将很适合您,或者如果您不想做公式,您可以将单元格范围转换为Excel表格(INSERT...TABLE或Crtl )。基于该表制作图表,您附加到该表底部的任何数据都将自动合并到该图表中。同样,不需要VBA。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50871128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档