所以我有一个图表,上面有 6 个系列,我希望能够使用一组 ActiveX 复选框使每个系列可见或不可见。到目前为止,复选框似乎工作正常,但我不知道如何使单个系列不可见。我可以使用该系列的属性使其不可见吗?谷歌和微软的帮助并没有为我打开它。
(当然,这并不意味着它不存在......)
任何和所有的帮助表示赞赏。
更新
等等,我记得我以前遇到过这个。隐藏所需数据的一个好方法是隐藏正在绘制的数据的实际行/列。因此,您的 ActiveX 控件不会触及图表,而是隐藏/取消隐藏图表数据的列/行。
您只需要设置图表数据,使其不会干扰需要显示的任何其他数据。
为了任何人的利益而留下我原来的答案......
我刚刚录制了一个宏并用它玩了......
得到了这个伟大的结果:
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).Select
'Turn it on
Selection.Format.Line.Visible = msoTrue
'Turn it off
Selection.Format.Line.Visible = msoFalse
这相当于No Line
在“格式化数据系列”对话框的“线条颜色”部分中进行选择。
当我在 Excel 中遇到困难时,我总是尝试录制一个宏,比如 WWBGD?(比尔盖茨会怎么做?)
这是条形图的结果,我将填充设置为“无”:
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).Select
Selection.Format.Fill.Visible = msoFalse
这有帮助吗?
以上 2对我不起作用,以防ChartType = xlLineMarkers
. 起作用的是:
For Each mySeries In .SeriesCollection
With mySeries
.Border.LineStyle = xlNone
.MarkerStyle = xlNone
.MarkerBackgroundColorIndex = xlColorIndexNone
End With
Next
但是,图例仍然显示该行。有必要单独删除该条目。
在 Excel 2013 中,要使系列不可见,也将其从图例中移除等,请使用过滤器选项 . Vba 示例:
以下代码通过在图表中过滤出/入来隐藏/恢复系列。ActiveSheet.ChartObjects("图表 1").Chart.FullSeriesCollection(1).IsFiltered = True / False
这相当于使用功能区命令设计 +选择数据手动过滤串联/输出(选择CHAR时可用)。
所有系列选项,如破折号颜色、标记等。都恢复不变。
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(linenumber).Select
Selection.Format.Fill.Visible = msoFalse
这很好用,选择图表而不是我有 24 行,带有复选框和 24 个条目的列表视图。点击1,它消失,再次点击它的背面。您还可以看到线 dis- 并出现在图例中。