2012-12-14 69 views
3

所以我有一个图表,它有6个系列,我希望能够使用一组ActiveX控件使每个系列可见或不可见。目前为止,复选框似乎工作正常,但我无法弄清楚如何使单个系列不可见。是否有可用于使其不可见的系列属性?谷歌和微软的帮助并没有为我提供帮助。在excel图表中隐藏一个特定的系列(行)

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

任何和所有帮助表示赞赏。

+0

我不确定你可以让它们看不见或可见;但你绝对可以添加/删除它们。那会满足你的需求吗? – thornomad

+0

你也可以用它们的形状玩填充/线条颜色使“出现”隐形...或者是说'不Line' –

+0

@thornomad没有这么多,因为我试图避免需要进行格式化选项编程。如果我删除并重新添加它们,则会丢失所有格式。 –

回答

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

+0

我想我已经尝试过,但让我看看我是否正确。当你说“隐藏”时,我认为“将细胞移动到其他地方”。但是,有没有办法隐藏它们,从根本上使价值观本身不可见? –

+0

@Doug - >不,我的意思是'.Range( “A1:A10”)EntireColumn.Hidden = TRUE;或'.Range( “A1:D1”)EntireRow.Hidden = TRUE; ...相当于。在工作表中手动隐藏行或列。如果您需要,我可以发布示例电子表格。 –

+0

而这不会影响我用于我的系列的范围吗? –

2

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

下面是一个柱状图的结果,我设置填充为“无”:

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

这是否帮助?

+0

也许,让我给出一个答案。 –

+0

它似乎不适用于我正在做的那种图表。但我可能会多玩一点。 –

1

以上2确实为没有工作对我来说,如果是ChartType = xlLineMarkers。 什么做的工作是:

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

然而,传说确实还显示行。有必要单独删除该条目。

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

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

1

在Excel 2013中,为了使一个serie不可见,并将它从图例等中取出,使用过滤器选项。 Vba示例:

以下代码通过过滤图表的Out/In来隐藏/恢复系列。 ActiveSheet.ChartObjects(“Chart 1”)。Chart.FullSeriesCollection(1)。IsFiltered =真/假

这等同于使用色带命令设计+选择数据,(在选择了焦炭时,这是可用的)手动过滤输入/输出的一个系列。

全系列的选项,如破折号颜色,标志等。恢复不变。