VBA控制Access 2010折线图标记颜色
我在Access 2010中创建了一个轴折线图。我正在尝试使用VBA格式化线条和标记,以便无论序列名称如何,我的图表都看起来相同。除了改变标记颜色,我可以让一切正常工作。这是我正在使用的VBA控制Access 2010折线图标记颜色,vba,ms-access-2010,pivot-chart,Vba,Ms Access 2010,Pivot Chart,我在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).L
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
我尝试了许多不同的标记颜色迭代,但无论我如何尝试,都会不断得到“运行时错误'438:对象不支持此属性或方法”。感谢您的帮助
我将代码更新为
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
以验证准确性。除了更改标记颜色之外,其他一切都可以正常工作。您可以尝试:
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
是点
对象的属性,而不是系列
对象。Excel中的文档,但在使用VBA的不同Office应用程序中应相同:
我明白了!!谢谢大卫·泽蒙斯 为我指明了正确的方向。我只需要在
.points
行中来回走动,现在它工作得非常好。注意,我还需要调整行的,因为访问是基于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
不确定在Access中是否相同,但请尝试使用Point.MarkerForeGroundColor()与以前相同的问题使用您正在使用的尝试更新您的代码?最新迭代Me.ChartSpace.Charts(0).serieCollection(0).Point.MarkerForeGroundColor=vbRed
您需要按索引指定点,例如.Points(0).MarkerForegroundColor
等,因此可能需要在点
集合上执行循环。