在excel表中包含一个图表,该图表绑定了另一张表中的数据。图表系列都是行系列。我需要一半的行系列为实线,另一半为虚线。这可以手动完成选择改变线条样式的点,这不是我需要的方式,我需要的方法是从vba代码中我们可以做半线用实线和另一条用虚线。
上面的图片我需要从vba代码执行此操作。我已经搜索了我的网站并应用了所提供的解决方案,但这些正在应用。非常感谢提供的任何解决方案。
答案 0 :(得分:3)
你应该能够这样做:
ActiveChart.SeriesCollection(1).ChartType = xlLineStacked
ActiveChart.SeriesCollection(1).Points(14).Format.Line.DashStyle = 3
所以在我的情况下,第一个数据系列是一个简单的行,但最后一点(此图中的14)的格式更改为破折号。
答案 1 :(得分:1)
简短的回答是否。
更有用的答案是,您必须将系列分为两部分,因为单个系列无法完成。该行是属于SeriesCollection
对象的单个对象,位于其格式化属性下,正如非常hacky代码所示,该代码用于演示基础对象模型:
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
从点{{}开始1}})。