2013-02-27 40 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),最後點了它的格式更改爲破折號。