使excel-chart中的特定系列(行)不可见

时间:2012-12-14 20:30:55

标签: vba excel-vba excel

所以我有一个有6个系列的图表,我希望能够使用一组ActiveX复选框使每个系列可见或不可见。到目前为止,复选框似乎工作正常,但我无法弄清楚如何使单个系列看不见。我可以使用该系列的属性使其不可见吗?谷歌和微软的帮助并没有为我提供帮助。

(当然,这并不意味着它不存在......)

感谢任何和所有帮助。

5 个答案:

答案 0 :(得分:6)

<强>更新

等等,我记得我以前曾经遇到过这个问题。隐藏所需数据的一种好方法是隐藏正在绘制的数据的实际行/列。因此,您的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相同。

答案 1 :(得分:2)

当我在Excel中难倒时,我总是尝试录制一个宏,一个WWBGD? (比尔盖茨会做什么?)

这是条形图的结果,我将填充设置为“无”:

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).Select
Selection.Format.Fill.Visible = msoFalse

这有帮助吗?

答案 2 :(得分:1)

ChartType = xlLineMarkers的情况下,上面的2对我来说不起作用。 工作是什么:

For Each mySeries In .SeriesCollection
    With mySeries
        .Border.LineStyle = xlNone
        .MarkerStyle = xlNone            
        .MarkerBackgroundColorIndex = xlColorIndexNone
    End With
Next

但是,图例仍会显示该行。有必要单独删除该条目。

答案 3 :(得分:1)

在Excel 2013中,要使系列不可见,也将其从图例中删除,请使用过滤器选项。 Vba示例:

以下代码通过过滤图表中的Out / In来隐藏/恢复系列。 ActiveSheet.ChartObjects(&#34; Chart 1&#34;)。Chart.FullSeriesCollection(1).IsFiltered = True / False

这相当于使用功能区命令“设计+选择数据”(在选择字符时可用)手动过滤/输出系列。

所有系列选项,如破折号颜色,标记等等都将保持不变。

答案 4 :(得分:0)

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(linenumber).Select
Selection.Format.Fill.Visible = msoFalse

这很好用,选择图表比我有24行,带有复选框的列表视图和24个条目。单击1,它消失,再次单击并返回。您也可以看到该行显示在图例中。