使用excel Macros/vba打开/关闭图表系列的可见性

unk*_*SPY 7 excel charts vba excel-vba

我在Excel中制作了一个折线图(图表),其中几个数据系列被绘制在同一个图表上.

我需要创建一个宏/ VBA解决方案,通过按下按钮(或勾选框等)可以打开/关闭这些系列的可见性

与此图片类似(通过Excel菜单系统手动完成)

在此输入图像描述

我试图查看所有成员变量/方法

https://msdn.microsoft.com/EN-US/library/office/ff837379.aspx

但没有太多运气.

我曾尝试玩过类似的东西

Charts("Chart1").SeriesCollection(1)
Run Code Online (Sandbox Code Playgroud)

和

Worksheets("Graphical Data").ChartObjects(1)
Run Code Online (Sandbox Code Playgroud)

但我既不能得到图表对象(我得到一个超出范围错误的下标)也无法找到任何允许我打开/关闭单个系列的可见性的方法.

有任何想法吗?

Jon*_*ier 17

每当我不知道如何做这样的事情时,我打开宏录音机.

我有一个包含四个系列的图表,我使用Excel 2013中的过滤功能来隐藏和显示第二个系列,而宏录制器正在运行.

这是相关的代码:

ActiveChart.FullSeriesCollection(2).IsFiltered = True
' series 2 is now hidden
ActiveChart.FullSeriesCollection(2).IsFiltered = False
' series 2 is now visible
Run Code Online (Sandbox Code Playgroud)

系列类型(行或列)无关紧要,这适用于任何一种.

  • 很好的解决方案,但是除了使用ActiveChart之外,您还可以调用完整路径`Worksheets(“ Sheet1”)。ChartObjects(“ Chart 1”)。Chart.FullSeriesCollection(1).IsFiltered = True` (2认同)