我在Access 2010中创建了一个支点线图。我正在尝试使用VBA格式化线条和标记,这样无论系列名称如何,我的图表都看起来都一样。除了更改标记颜色外,我可以完成所有工作。这是我正在使用的......
Private Sub Form_Load()
'Comp 1
Me.ChartSpace.Charts(0).SeriesCollection(0).Line.Color = RGB(0, 128, 255)
Me.ChartSpace.Charts(0).SeriesCollection(0).Line.Weight = 6
Me.ChartSpace.Charts(0).SeriesCollection(0).marker.Size = 6
Me.ChartSpace.Charts(0).SeriesCollection(0).marker.Style = 1
Me.ChartSpace.Charts(0).SeriesCollection(0).MarkerForegroundColor = vbRed
我已经为标记颜色尝试了很多不同的迭代,但我不断得到"运行时错误''对象不支持此属性或方法"无论我如何尝试。任何帮助表示赞赏。
我将代码更新为
Private Sub Form_Load()
Dim p As Long
'Comp 1
With Me.ChartSpace.Charts(0).SeriesCollection(0)
.Line.Color = RGB(99, 66, 255)
.Line.Weight = 6
.marker.Size = 8
.marker.Style = 2
pc = .Points.Count
For p = 1 To pc
.Points(p).MarkerForegroundColorIndex = vbRed
Next
End With
但仍有同样的问题。我添加了pc = .points.count
来验证准确性。除了更改标记颜色外,一切都有效。
答案 0 :(得分:1)
您可以尝试:
Dim p as Long
With Me.ChartSpace.Charts(0).SeriesCollection(0)
.Line.Color = RGB(0, 128, 255)
.Line.Weight = 6
.marker.Size = 6
.marker.Style = 1
For p = 1 to .Points.Count
.Points(p).MarkerForegroundColor = vbRed
Next
End With
MarkerForeGroundColor
是Point
对象的属性,而不是Series
对象的属性。来自Excel的文档,但在使用VBA的不同Office应用程序中应该是相同的:
https://msdn.microsoft.com/en-us/library/office/ff834722.aspx
答案 1 :(得分:0)
我懂了!!谢谢 David Zemens
指出我正确的方向。我只需调整.points
行,现在它完美无缺。需要注意的是,我还需要调整For
行,因为Access是基于0的。这是最终的代码。谢谢大家。
With Me.ChartSpace.Charts(0).SeriesCollection(0)
.Line.Color = RGB(99, 66, 255)
.Line.Weight = 6
.marker.Size = 8
.marker.Style = 2
pc = .Points.Count
For p = 0 To pc - 1
.Points(p).Interior.Color = vbRed
Next
End With