2013-02-27 62 views
3

在Excel表格中包含了一个绑定另一个表格的数据的图表。图表系列都是线条系列。我需要一半线条系列作为实线,另一半作为虚线。这可以通过手动拾取点改变线条样式,这不是我需要的方式,我需要的方式是来自vba代码,我们可以像固体和半虚线一样做一半。Can Line系列可以绘制为半实心半虚线?

enter image description here

上面的影像,我需要从VBA code.I做到这一点有搜索我的网站和应用提供的解决方案,但这些都是提供applying.Any解决方案是非常赞赏。

+2

可能是通过VBA实现的,但还有另一个没有VBA的自动化解决方案:将每个系列分成两个系列 - 一个固定直到12月,一个固定直到12月份开始点缀。只需使用公式来设置其他字段(在十二月之前或之后)到'“”'...... – 2013-02-27 07:35:46

+0

这是一个很好的问题,我的问题是关于虚线或虚线以备将来数据 – 2016-12-11 12:25:21

回答

2

简短的回答是没有

更长时间更有用的答案是,您必须将系列分成两部分,因为这不能用于单个系列。该生产线是属于SeriesCollection对象下它的格式属性,由非常哈克代码,其用于展示底层对象模型所证明的单个对象:

Sub editChart() 

    Dim cO As Chart 
    Set cO = ActiveChart 
    Dim s As Series 

    Set s = cO.SeriesCollection(1) 
    s.Format.Line.DashStyle = msoLineDash 

    Set s = cO.SeriesCollection(2) 
    s.Format.Line.DashStyle = msoLineSolid 

End Sub 

您可以与自定义格式混淆为Points,其中可能有很多附加到SeriesCollection,因为这些可以单独格式化。

需要注意的是,如果你想行加入了他们必须共享一个数据点(而非第一Series停在点n和第二Series开始在点n+1)。

2

你应该能够做到这一点是这样的:

ActiveChart.SeriesCollection(1).ChartType = xlLineStacked 
ActiveChart.SeriesCollection(1).Points(14).Format.Line.DashStyle = 3 

所以在我的情况下,第一个数据系列是一个普通的线,但(在该图14),最后点了它的格式更改为破折号。