【问题标题】:How to control excel chart source range through VBA如何通过VBA控制excel图表源范围
【发布时间】:2019-02-14 12:21:14
【问题描述】:

我希望能够通过 VBA 控制和更新 Excel 图表的来源(范围)。图表最终将以PowerPoint演示文稿的形式呈现,整个过程将自动更新。

我曾尝试使用无法提供我想要的控制级别的表格。例如,如果我删除一个数据点,图表不会相应地“缩小”。

ActiveChart.SetSourceData (Sheets("Sheet2").Range("E5:E9"))

当前脚本没有运行。但我只想为特定图表“设置”一个源范围,最好按名称访问。如果添加了新数据点,我只需再次运行脚本,新范围将是列中的顶部单元格,一直到 .End(xlDown)

【问题讨论】:

  • 如果我没记错的话,如果您将源范围格式化为表格并从中创建图表并将其粘贴到 ppt 中,它应该会自动更新或至少在刷新时更新。
  • ActiveChart.SetSourceData Source:=ThisWorkbook.Sheets("Sheet2").Range("E5:E9") 为我工作
  • 也显示Here

标签: excel vba


【解决方案1】:

谢谢各位!如果其他人有同样的问题,我设法找到了一个适合我的解决方案并将其发挥作用。没什么特别的,但你可以设置一个像“A2:A14”这样的范围,图表将更新为新的范围。该函数由工作表名称、图表名称和范围调用,如下所示:

Call changecharts("Sheet2", "Chart1", "A2:A11")

Public Function changecharts(sheeet As String,chartname As String, rnge As String)

Worksheets(sheeet).ChartObjects(chartname).Activate

With ActivateChart
ActiveChart.SetSourceData Source:=ActiveWorkbook.Sheets(sheeet).Range(rnge)
End With


End Function

【讨论】:

  • 这与我在您的帖子下方评论的内容相似吗? :)
猜你喜欢
  • 2019-02-20
  • 2020-03-09
  • 2015-05-06
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 2015-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多